LeetCode刷題筆記 70 爬樓梯

2021-09-24 18:38:30 字數 897 閱讀 8882

假設你正在爬樓梯。需要 n 階你才能到達樓頂。

每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?

注意:給定 n 是乙個正整數。

示例:

輸入: 3

輸出: 3

解釋: 有三種方法可以爬到樓頂。

1 階 + 1 階 + 1 階

1 階 + 2 階

2 階 + 1 階

第一遍自己寫的,沒想出來,但找到了斐波拉契數列的規律,就套著用了

後面看了解析,解題就是要用斐波拉契數列的思路,就和在方格裡找路徑數一樣

到達每乙個格仔都有兩種方式,這個格仔的數就等於前兩個格仔相加的總數

public

class

solution

int[

] dp =

newint

[n +1]

; dp[1]

=1; dp[2]

=2;for

(int i =

3; i <= n; i++

)return dp[n];}

}

class

solution

:def

climbstairs

(self, n)

:if n ==0:

return n

lastrnun =

0 res =

1for x in

range

(n):

temp = res

res += lastrnun

lastrnun = temp

return res

LeetCode刷題 70 爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。示例 1 輸入 2 輸出 2 解釋 有兩種方法可以爬到樓頂。1.1 階 1 階 2.2 階 示例 2 輸入 3 輸出 3 解釋 有三種方法可以爬到樓頂。1...

leetcode刷題 70爬樓梯

假設你正在爬樓梯。需要 n 階你才能到達樓頂。每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢?注意 給定 n 是乙個正整數。最開始使用的是回溯的方法,但是時間效率地下沒有通過,於是想到了動態規劃的演算法。對於i樓梯,到達其的方法有從i 1跨一步和i 2跨兩步,因此到底i的方法就...

Leetcode刷題筆記

1.兩數之和給定乙個整數陣列nums 和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。ps 你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。思路 用target減去nums中的每乙個數,並設立乙個字典來記錄對應的下標 class...