【动态规划】三步问题

题目链接:https://leetcode.cn/problems/three-steps-problem-lcci/description/

cpp 复制代码
class Solution {
public:
    int waysToStep(int n) 
    {
        const int MOD = 1e9 + 7;
        // 处理边界情况
        if (n == 1 || n == 2) return n;
        if (n == 3) return 4;
        // 1.创建 dp 表
        vector<int> dp(n + 1);
        // 2.初始化
        dp[1] = 1, dp[2] = 2, dp[3] = 4;
        // 3.填表
        for (int i = 4; i <= n; ++i)
            dp[i] = ((dp[i - 1] + dp[i - 2]) % MOD + dp[i - 3]) % MOD;
        // 4.返回值
        return dp[n];
    }
};
相关推荐
土豆.exe2 小时前
Fastjson2 2.0.53 哈希碰撞 RCE:从原理到三种打法
算法·哈希算法
黄河123长江2 小时前
有限Abel群的结构()
算法
Jerry3 小时前
LeetCode 92. 反转链表 II
算法
骊城英雄3 小时前
Rust从入门到精通-trait
人工智能·算法·rust
可编程芯片开发4 小时前
基于PI控制算法的pwm直流电机控制系统Simulink建模与仿真
算法
怕浪猫4 小时前
2840亿参数只卖白菜价:DeepSeek V4 Flash 正式版上线,Agent 能力暴涨6倍
人工智能·算法
让学习成为一种生活方式4 小时前
苄基异喹啉生物碱糖基转移酶UGT74AN1晶体--Journal of Agricultural and Food Chemistry
人工智能·算法
alphaTao4 小时前
LeetCode 每日一题 2026/7/27-2026/8/2
python·算法·leetcode
2501_926978335 小时前
提示工程的实战报告(二):模型的失败模式与边界行为
人工智能·深度学习·算法
小小晓.5 小时前
C++记:函数
开发语言·c++·算法