leetcode の質問ノート 70

あなたが階段を登っているとします。n 建物の屋上に行くには階段が必要です 。

登れるたび 1 、または 2 一歩進むたびに。建物の屋上に行くには、何通りの方法がありますか?

アイデア 1: 再帰

int climbStairs(int n){
    int num[n+1];
    num[0]=1,num[1]=1;
    for(int i=2;i<=n;i++){
        num[i]=num[i-1]+num[i-2];
    }
    return num[n];
}

分析します:

この質問の次のステップのメソッドは、前のステップのメソッドの数に最初の 2 つのステップを加えたものに等しく、n まで連続的に再帰して答えを取得します。

要約:

この問題は再帰の適用を検討します。ステップ問題を再帰問題に変換することで解決できます。

おすすめ

転載: blog.csdn.net/si_mple_/article/details/132241102