我正在解决一个问题代码战争中的一个问题,希望你记住斐波那契数列。到目前为止我的解决方案是:
\n\n\n\ndef fibonacci(n): \n return fibonacci_helper(n, dict())\n\ndef fibonacci_helper(n, fib_nums):\n if n in [0, 1]:\n return fib_nums.setdefault(n, n)\n\n fib1 = fib_nums.setdefault(n - 1, fibonacci_helper(n - 1, fib_nums))\n fib2 = fib_nums.setdefault(n - 2, fibonacci_helper(n - 2, fib_nums))\n\n return fib_nums.setdefault(n, fib1 + fib2)\nRun Code Online (Sandbox Code Playgroud)\n\n对于较小的 n 值,它工作得相当好,但超过 30 标记时速度明显减慢,这让我想知道 \xe2\x80\x94 这个解决方案是否已被记忆?对于较大的 n 值,如何让这种类型的解决方案足够快地工作?
\n