leetcode

Description:

leetcode-509

Submission:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

class :
def fib(self, N: int) -> int:
if (N == 0):
return 0
elif (N == 1):
return 1
else:
return self.fib(N-1) + self.fib(N-2)
# 方法二
class :
def fib(self, N: int) -> int:
if (N == 0):
return 0
elif (N == 1):
return 1
else:
ans = [0] * (N + 1)
ans[0], ans[1] = 0, 1 # 初始状态
for i in range(2, N+1):
ans[i] = ans[i-1] + ans[i-2] # 状态转移方程
return ans[N]

Acceptance:

ac

经典的动态规划问题。解法一使用迭代方法,写法很elegant,但是速度慢,开销大。解法二更加有效率。