1'''2
假設你正在爬樓梯。需要 n 階你才能到達樓頂。34
每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?56
78示例 1:910
輸入:n = 2
11輸出:2
12解釋:有兩種方法可以爬到樓頂。
131. 1 階 + 1 階
142. 2 階
15示例 2:
1617
輸入:n = 3
18輸出:3
19解釋:有三種方法可以爬到樓頂。
201. 1 階 + 1 階 + 1 階
212. 1 階 + 2 階
223. 2 階 + 1 階
2324
2526
271 <= n <= 45
28'''
2930
'''31
思路:32
1.後面的值是前面的二個值相加,於是用了 第一種方法,但執行超時
3334
2.參考例子,可以使用空列表,將前面計算的值存起來,這樣就可以解出後面的值
35'''
3637
38class
solution:
39def climbstairs(self, n: int) ->int:
40if n == 1:41#
return 1
42if n == 2:43#
return 2
44else:45
return self.climbstairs(n-1)+self.climbstairs(n-2)
464748或
4950
class
solution:
51def climbstairs(self, n: int) ->int:
52 res = [0] * (n+1)
53 res[0] = res[1] =1
54for i in range(2,n+1):
55 res[i] = res[i-1] + res[i-2]
56return res[-1]
練習題目 爬樓梯
一天,果姐想和男票一起去紅高粱吃飯,但在到達紅高粱之前,果姐要爬一段重郵最為可爬的樓梯 奪命天梯!果姐每次爬樓梯可以跨一步 上一層台階 或者跨三步 上三層台階 果姐不會選擇跨兩層台階,因為他覺得那樣既不優雅,也不省時。果姐突然想知道,她可以用幾種姿勢 方式 走完這個n層的樓梯呢?請聰明的你給她答案!...
70 爬樓梯(簡單)
解題思路1 使用斐波那契序列 從第二個之後第n個結果為n 1,n 2項之和。使用遞迴呼叫。def climbstairs n if n 0 return 0if n 1 return 1if n 2 return 2if n 2 return climbstairs n 1 climbstairs ...
C 練習 LeetCode 70 爬樓梯
假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1 階 1 階 2 階示例 2 輸入 3 輸出 3 解釋 有三種方法可以爬到樓頂。1 階 1 ...