{"ScriptPreparationCode":null,"TestCases":[{"Name":"Fib Iterative","Code":"function fibonacci(num){\r\n var a = 1, b = 0, temp;\r\n\r\n while (num \u003E= 0) {\r\n temp = a;\r\n a = a \u002B b;\r\n b = temp;\r\n num--;\r\n }\r\n\r\n return b;\r\n}\r\n\r\nfibonacci(20);\r\n","IsDeferred":false},{"Name":"Fib Tommy","Code":"const memoize = function(func) {\r\n\tconst cache= {}\r\n return (...args) =\u003E {\r\n const n = args[0]\r\n if (n in cache) {\r\n return cache[n];\r\n } else {\r\n const result = func(n)\r\n cache[n] = result\r\n return result\r\n }\r\n }\r\n};\r\n\r\nconst fibonacci = memoize((n) =\u003E {\r\n\tif (n \u003C= 1) return 1;\r\n\treturn fibonacci(n - 1) \u002B fibonacci(n - 2);\r\n});\r\n\r\nfibonacci(20);\r\n","IsDeferred":false}]}