leetcode[70]:階段を登るC言語解法

673 ワード

階段を登っているとします.屋上に着くにはn階が必要です.
毎回1つか2つの階段を登ることができます.屋上に登る方法はいくつありますか?
注:指定されたnは正の整数です.
例1:
  : 2
  : 2
  :            。
1.  1   + 1  
2.  2  

例2:
  : 3
  : 3
  :            。
1.  1   + 1   + 1  
2.  1   + 2  
3.  2   + 1  

 
int climbStairs(int n) 
{
    int i = 0;
    int array[1000];
    
    array[0] = 0;
    array[1] = 1;
    array[2] = 2;
    
    if(n == 1)
    {
        return 1;
    }
    
    if(n == 2)
    {
        return 2;
    }
    
    for(i = 3; i <= n; i++)
    {
        array[i] = array[i - 1] + array[i - 2];
    }
    
    
    return array[n];
}