recursion: first occurrence of number #9
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
All PRs
Where Relevant
Description
What is this PR about ?
Implement using iteration and recursion a function to find the index for a value in a given array from a given start index.
What was implemented ?
Runtime complexity : O(n - startindex), n is the number of elements in the array
Space complexity: O(1)
Runtime complexity : O(n - startIndex)
Space complexity: O(n - startIndex)
What did you learn ?
Being able to follow what happens in a recursive algorithm gets a lot easier with practice, also writing it in an iterative form first and then transforming it in a recursive solution helps a lot to identify the base case and the recursive case.
Recursion usually has worse Space complexity than iterative solutions, therefore it's good to use only if really needed, i.e. the solution cannot be solved iteratively with a better runtime and space complexity.
What links/documents relate to this PR ?
Testing
Steps required to test
node first-occurrence-of-number.js
All tests should pass
Test cases can be found in interviews/recursion/first-occurrence-of-number/testData