🐸

青蛙跳台阶

int trainWays(int num) {
    if (num == 0) return 1;
    if (num <= 2) return num; // 边界条件需要注意
    static int MAX_VALUE = 1e9+7;

    vector<int> dp(num, 0);
    dp[0] = 1;
    dp[1] = 2;
    for (int i = 2; i < num; i++) {  // 核心递推式
        dp[i] = dp[i-1] % MAX_VALUE + dp[i-2] % MAX_VALUE;
    }
    return dp[num-1] % MAX_VALUE;
}
你觉得这篇文章怎么样?
YYDS
比心
加油
菜狗
views

Loading Comments...