leetcode_爬樓梯

爬樓梯-簡單


動態規劃


題目:

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

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

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


思路:

整體採用一個迭代的思路,n階樓梯,由於達到最後一階樓梯之前有兩種可能,最後一步可能是1也可能是2。當最後一步是走的一個臺階那麼此時的方法總數是n-1階臺階的總方法數;當最後一步是兩個臺階時,此時的方法總數是n-2階臺階的總方法數;於是迭代的公式就出來了。

f(n)=f(n-1)+f(n-2)

這裏的f(n)代表的是n階臺階的方法總數。

int climbStairs(int n){


    int b[100],i;
	b[1]=1;
	b[2]=2;
	
	if(n>2)
	{
		for(i=3;i<=n;i++)
		{
			b[i]=b[i-1]+b[i-2];
		}
	}
	

   return b[n];

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章