Given an Array of values, use recursion to find the target value. Return true
if found, otherwise false
.
Input: [1, 2, 3], 2
Output: true
Input: [3, 2, 1], 4
Output: false
Sometimes it can help to solve the problem iteratively first, and then convert that to the recursive version. Here are two possible iterative solutions: one in Ruby and one in JS.
def iterative_search(arr, target)
arr.each do |value|
return true if value == target
end
false
end
function iterativeSearch(arr, target) {
for (const value of arr) {
if (value === target) {
return true;
}
}
return false;
}
There are many ways to solve this problem. We suggest starting with the bases cases. What are they?
Feeling stuck? Have a hint! Do you need to pass the whole array with every recursive call or just part of it?
Use the language of your choosing. We've included starter files for some languages where you can pseudocode, explain your solution and code.
- Rewrite the problem in your own words
- Validate that you understand the problem
- Write your own test cases
- Pseudocode
- Code!
And remember, don't run our tests until you've passed your own!
cd
into the ruby folderruby <filename>.rb
cd
into the javascript foldernode <filename>.js
cd
into the ruby folderbundle install
rspec
cd
into the javascript foldernpm i
npm test