• Ananace
    link
    fedilink
    287 months ago

    The naïve and unoptimized version ran in under 4 seconds for me, that’s nowhere near “Time to knuckle down and actually optimize this” territory.

    • Setarkus.LW
      link
      fedilink
      36 months ago

      I was so confused just now thinking this was about day 5. Like “What the f do you consider naïve that takes less than four seconds??”

  • @UlrikHDA
    link
    157 months ago

    Too scarred from puzzle 5 to do the naïve approach anymore.

    • Black616Angel
      link
      fedilink
      66 months ago

      Dude, 5 was so weird, I didn’t even recognize a hard or easy approach.

  • @[email protected]
    link
    fedilink
    36 months ago

    There is a trap in part 2, by the way, that can trip people who try to use maths:

    Spoiler

    The values are so large that if one uses single precision (32 bit) floating point values, the result will not be correct. Double precision floats yield the correct result.

    This means, that doing integer calculations isn’t as bad as it sounds at first.

    • @[email protected]
      link
      fedilink
      11
      edit-2
      7 months ago

      I mean, that literally failed just yesterday.

      Also I’m not sure where in today’s problem you would even use a dictionary

      • Zagorath
        link
        fedilink
        English
        16 months ago

        Hey, I haven’t been doing Advent this year. What was day 5’s problem and why did dicts fail?

        • @[email protected]
          link
          fedilink
          36 months ago

          There was a series of number ranges that mapped onto other ranges. The simple approach was filling dictionaries, which worked well for the example data. In the actual data, there ranges were much much larger (in the 100,000,000’s), which made the dictionaries prohibitively large.

          • @[email protected]
            link
            fedilink
            English
            16 months ago

            If each number was 8 bytes wide, it would require, if I didn’t mess up my math, 18 GB to fully represent all seeds/numbers as an array.

      • Spaghetti_Hitchens
        link
        fedilink
        -127 months ago

        If you don’t know the meaning of a word, you can literally Google “{The word you don’t know} definition.” Google.com is a really handy and easily-accessed dictionary.

        • @asyncrosaurus
          link
          137 months ago

          I can’t tell if this is a joke or a troll, buy we’re talking about a Dictionary, which is a common data structure in computer science.