Ad
  • Custom User Avatar

    This is a really good solution but two suggestions.

    You can speed the execution up by performing the error check as the final pattner. This prevents you from checking if the list is empty every itteration. This is a small issue in this example but is still good practice.

    In your last pattern, you should not be assigning x to a variable. Instead use _ to avoid an unnecessary assignment. Again, this is pretty minor in this example but useful as your code grows.

  • Custom User Avatar

    I definitely suggest you make this an iterative process instead of a recursive process. The recursive process will deplete the stack very quickly due to the way the number of steps and memory consumption increases with the number. This might be a shorter (code wise) recursive solution but if you use recursion with an iterative process it will ensure that the stack is never depleted.

  • Custom User Avatar

    I absolutely agree with this. I think this would make for much more interesting algorithms, and a more realworld type scenario.

  • Custom User Avatar

    Please read this MDN article on the Function.prototype.bind(). I didn't get it at first either, but after reading that article it made perfect sense. This is a very elegant and useful solution.

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind

  • Custom User Avatar

    I completely agree. As a developer you should always know exactly what are the expected results of your code. This question isn't descriptive enough, and very difficult to write valid code for.