力扣hot 100 70 爬樓梯

2022-09-12 06:57:09 字數 596 閱讀 2861

​ 假設你正在爬樓梯,需要n階你才能到達樓頂。每次你可以爬1或者2個台階。你有多少種不同的方法可以爬到樓頂呢?(給定n是乙個正整數)

​ 當n=1的時候,只有一種爬法:當n=2的時候,有兩種爬法;當n=3的時候,這時候有3種爬法,分別是1+1+1、1+2、2+1;當n=4的時候,有5種爬法,分別是1+1+1+1、1+2+1,2+1+1,1+1+2,2+2......以此類推,可以明顯的發現,當n>2的時候,n個台階的爬法等於n-1和n-2個台階的爬法的和,有點類似與斐波那契數列,其中的n1和n2變為了1和2。只要發現了爬樓梯的這乙個規律,就可以很簡單的寫出求解的**了。

public int climbstairs(int n) 

int i1 = 1;

int i2 = 2;

for(int i = 3 ; i <= n ; i++)

return i2;

}

​ 做題的時候,自己的第一想法並沒有想到類似斐波那契數列。只是單純的想到固有一種1+1+1....的爬法,可以將兩個1代替為2,第乙個2有n-2個擺放位置,類推累加,有一點點的排列組合的感覺,寫出來的**不出意外的超出時間限制了~~ 後面想了想才發現其中規律。

力扣 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...