day22 力扣 爬樓梯 python實現

2021-09-26 05:05:51 字數 779 閱讀 7168

注意:本題與常見的青蛙爬樓梯屬於同乙個題

題目描述:給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。

示例:

輸入: [0,1,0,3,12]

輸出: [1,3,12,0,0]

說明:

必須在原陣列上操作,不能拷貝額外的陣列。

儘量減少操作次數。

分析:題目要求很明確,我們可以分兩步進行完成,首先刪除題目中的值為 0 的元素,然後在最後加上值為 0 的元素。

class solution:

# dp[i] = dp[i-1]+dp[i-2]

def climbstairs(self, n: int) -> int:

dp =

if n==1: #終止條件

return 1

if n==2: #終止條件

return 2

for i in range(2,n):

return dp[-1] #返回最後乙個值

知識點:講解一下遞迴部分的使用,呼叫遞迴時,首先計算第乙個式子的值(即dp[i - 1]),然後進行自己呼叫自己的過程,直到到達終止條件,然後進行第二個式子的值(即dp[i - 2]),當進行呼叫這個式子的時候,首先還是從頭開始計算遞迴式,即還是計算dp[i - 1]的值,然後自己呼叫自己,直到到達終止條件,然後計算第二個式子(dp[i - 2])的值,一直迴圈下去,我們就可以找出所有到達第n階台階的方法。

力扣 70 爬樓梯

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

力扣 70 爬樓梯

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

力扣70 爬樓梯

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