注意:本題與常見的青蛙爬樓梯屬於同乙個題
題目描述:給定乙個陣列 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...