From 12fbf2910a9a99b5adcbe95f54787295e57d0bb3 Mon Sep 17 00:00:00 2001 From: ruiboliu Date: Tue, 10 Nov 2020 23:06:18 -0500 Subject: [PATCH] =?UTF-8?q?509=20=E6=96=90=E6=B3=A2=E9=82=A3=E5=A5=91?= =?UTF-8?q?=E6=95=B0=E5=88=97=20Python=203=20=E8=A7=A3=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...46\350\247\243\350\277\233\351\230\266.md" | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git "a/\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/\345\212\250\346\200\201\350\247\204\345\210\222\350\257\246\350\247\243\350\277\233\351\230\266.md" "b/\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/\345\212\250\346\200\201\350\247\204\345\210\222\350\257\246\350\247\243\350\277\233\351\230\266.md" index bff29f4..8ec424b 100644 --- "a/\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/\345\212\250\346\200\201\350\247\204\345\210\222\350\257\246\350\247\243\350\277\233\351\230\266.md" +++ "b/\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/\345\212\250\346\200\201\350\247\204\345\210\222\350\257\246\350\247\243\350\277\233\351\230\266.md" @@ -366,4 +366,45 @@ PS:为啥 `dp` 数组初始化为 `amount + 1` 呢,因为凑成 `amount` 金

-======其他语言代码====== \ No newline at end of file +======其他语言代码====== + +[DapangLiu](https://github.com/DapangLiu) 提供 509. 斐波那契数 Python3 解法代码: + +递归写法 + +```python +class Solution: + def fib(self, N: int) -> int: + if N <= 1: + return N + return self.fib(N-1) + self.fib(N-2) +``` + +动态规划写法 + +```python +class Solution: + def fib(self, N: int) -> int: + if N == 0: + return 0 + # init + result = [0 for i in range(N+1)] + result[1] = 1 + + # status transition + for j in range(2, N+1): + result[j] = result[j-1] + result[j-2] + return result[-1] +``` + +动态规划写法 (状态压缩) + +```python +class Solution: + def fib(self, n: int) -> int: + # current status only depends on two previous status + dp_0, dp_1 = 0, 1 + for _ in range(n): + dp_0, dp_1 = dp_1, dp_0 + dp_1 + return dp_0 +``` \ No newline at end of file -- GitLab