LeetCode三步问题(动态规划)

LeetCode三步问题(动态规划)

链接: 三步问题


编写代码

clike 复制代码
class Solution {
public:
    int waysToStep(int n) {
        if(n == 1 || n == 2) return n;
        vector<int> dp(n+1);
        const int MOD = 1e9 + 7;
        dp[0] = dp[1] = 1;
        dp[2] = 2;
        for(int i = 3;i<=n;++i)
        {
            dp[i] = ((dp[i - 1] + dp[i - 2]) % MOD + dp[i - 3]) % MOD;
        }
        return dp[n];
    }
};

代码优化

clike 复制代码
class Solution {
public:
    int waysToStep(int n) {
        if(n == 1 || n == 2) return n;
        int a = 1,b = 2,c = 4,d = 0;
        const int MOD = 1e9 + 7;
        for(int i = 4;i<=n;++i)
        {
            d = ((b + c) % MOD + a) % MOD;
            a = b;
            b = c;
            c = d;
        }
        return c;
    }
};
相关推荐
careathers3 分钟前
【数据结构】二叉树
数据结构·算法
Omics Pro1 小时前
空间组学!医学代谢显微工具
数据库·人工智能·算法·机器学习·自然语言处理
Coder-magician1 小时前
《代码随想录》刷题打卡day44:图论-part02
算法·深度优先·图论
克里斯蒂亚诺更新1 小时前
理解机器学习的各种算法
人工智能·算法·机器学习
小范的技术工坊1 小时前
大模型学习操作文档(13个核心概念串讲)
人工智能·学习·算法·大模型
一个低调的青年1 小时前
电池健康状态估计(一)
经验分享·笔记·其他·算法·模型
longlongzihan1 小时前
【LeetCode 204. 计数质数】从暴力枚举到埃拉托斯特尼筛法
算法·筛法
alphaTao1 小时前
LeetCode 每日一题 2026/9/21-2026/9/27
python·算法·leetcode
88号技师1 小时前
2026年9月SCI-天气状态蚂蚁优化算法Weather State Ants Optimizer-附Matlab免费代码
开发语言·算法·matlab·优化算法
TAN-90°-2 小时前
Deep Learning for Computer Vision——Vision and Language
人工智能·深度学习·神经网络·算法·目标检测·机器学习·计算机视觉