Skip to content

Commit

Permalink
feat: simple recursion
Browse files Browse the repository at this point in the history
  • Loading branch information
andy922200 committed Dec 25, 2023
1 parent 9cced5f commit 9f32e93
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
32 changes: 32 additions & 0 deletions app-ch4-18.js
@@ -0,0 +1,32 @@
// Time O(n^2)
function fibonacciSequence(n){
if(n===0) return 0
if(n===1) return 1

return fibonacciSequence(n - 1) + fibonacciSequence(n-2)
}

for(let i=0; i<=15; i++){
console.log(`fibonacciSequence - ${i} :`, fibonacciSequence(i))
}

// Time O(n)
function fib(n){
const resultArr = Array.from({ length: n })

resultArr[0] = 0
resultArr[1] = 1

if (n === 0) return resultArr[0]
if (n === 1) return resultArr[1]

for (let i = 2; i <= n; i++) {
resultArr[i] = resultArr[i - 1] + resultArr[i - 2]
}

return resultArr[n]
};

for (let i = 0; i <= 15; i++) {
console.log(`fib - ${i} :`, fib(i))
}
11 changes: 11 additions & 0 deletions app-ch4-19.js
@@ -0,0 +1,11 @@
const arrs = [[[["a", [["b", ["c"]], ["d"]]], [["e"]], [[["f", "g", "h"]]]]]]
const result = []

function collector(rawData){
for (let i = 0; i < rawData.length; i++) {
Array.isArray(rawData[i]) ? collector(rawData[i]) : result.push(rawData[i])
}
}
collector(arrs)

console.log('after using collector:', result)

0 comments on commit 9f32e93

Please sign in to comment.