aboutsummaryrefslogtreecommitdiff
path: root/entries/kevindhir
diff options
context:
space:
mode:
Diffstat (limited to 'entries/kevindhir')
-rw-r--r--entries/kevindhir/aws/Solution.java21
-rw-r--r--entries/kevindhir/ts/fib.ts8
2 files changed, 29 insertions, 0 deletions
diff --git a/entries/kevindhir/aws/Solution.java b/entries/kevindhir/aws/Solution.java
new file mode 100644
index 0000000..602d1b1
--- /dev/null
+++ b/entries/kevindhir/aws/Solution.java
@@ -0,0 +1,21 @@
+package entries.kevindhir.aws;
+
+import java.util.Arrays;
+
+class Solution {
+ public int fib(int N) {
+ int[] storage = new int[9999];
+ Arrays.fill(storage, -1);
+ storage[0] = 0;
+ storage[1] = 1;
+ return fibMemoized(N, storage);
+ }
+
+ private int fibMemoized(int N, int[] storage){
+ if (storage[N] != -1) return storage[N];
+ int calculated = fibMemoized(N-1, storage) + fibMemoized(N-2, storage);
+ storage[N] = calculated;
+ return calculated;
+ }
+
+} \ No newline at end of file
diff --git a/entries/kevindhir/ts/fib.ts b/entries/kevindhir/ts/fib.ts
new file mode 100644
index 0000000..f126a8b
--- /dev/null
+++ b/entries/kevindhir/ts/fib.ts
@@ -0,0 +1,8 @@
+let memo = {1: 1};
+
+function fib(n: number): number {
+ if(n <= 0) return 0;
+ if(memo[n]) return memo[n];
+ memo[n] = fib(n-1) + fib(n-2);
+ return memo[n];
+};