Ad
  • Default User Avatar

    I'm new to programming, but I think he's talking about having two iterators instead of one.

    In the original solution, you had ruby run through each element one by one to filter out unwanted elements. Then you go through those selected elements one by one again to sum them up.

    His solution does it all one shot. In his inject, he goes through the elements one by one but performs both actions (filtering and sumation) before moving on to the next element. Meaning that instead of running through all the elements twice (once to filter, once to sum), he does it once and he's done.

    So worst case: all integer values. All elements are run through once, none are rejected. Then all have to be run through yet again to sum. Two run throughs instead of one, so supposedly 2x the time taken.

  • Default User Avatar

    This solution does not square the first number