From 32b25aef8afa258dca69fc75fe025cce755b270b Mon Sep 17 00:00:00 2001 From: aadil42 <77232799+aadil42@users.noreply.github.com> Date: Tue, 15 Aug 2023 18:36:16 +0530 Subject: [PATCH] Create code.js Adding solution for nth tribonacci number in js. Submission Link: https://leetcode.com/problems/n-th-tribonacci-number/submissions/1022066817/ --- .../008. Nth Tribonacci Number/code.js | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 02. Algorithms/09. Dynamic Programming/008. Nth Tribonacci Number/code.js diff --git a/02. Algorithms/09. Dynamic Programming/008. Nth Tribonacci Number/code.js b/02. Algorithms/09. Dynamic Programming/008. Nth Tribonacci Number/code.js new file mode 100644 index 00000000..564b62bd --- /dev/null +++ b/02. Algorithms/09. Dynamic Programming/008. Nth Tribonacci Number/code.js @@ -0,0 +1,26 @@ +/** + * Recursion | DP + * https://leetcode.com/problems/n-th-tribonacci-number + * + * Time O(n) | Space O(n) + * @param {number} n + * @return {number} + */ +var tribonacci = function(n) { + + const cache = new Map(); + if(n === 1 || n === 2) return 1; + if(n === 0) return 0; + const dfs = (n) => { + + if(cache.has(n)) return cache.get(n); + if(n === 2 || n === 1) return 1; + if(n === 0) return 0; + + const result = dfs(n-3) + dfs(n-2) + dfs(n-1); + cache.set(n, result); + return result; + } + + return dfs(n); +};