题目:青蛙跳台阶
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;
}





Loading Comments...