【动态规划】三步问题

题目链接: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];
    }
};
相关推荐
不会就选b5 小时前
算法日常・每日刷题--<快速排序>2
数据结构·算法
CClaris5 小时前
大模型量化从0到1(五):GPTQ 原理详解 + 从零量化一个真实大模型
人工智能·python·算法·机器学习
凯瑟琳.奥古斯特5 小时前
力扣1012数位DP解法详解
开发语言·c++·算法·leetcode·职场和发展
大鱼>5 小时前
AI+货物追踪:贵重物品智能追踪系统
人工智能·深度学习·算法·机器学习
大鱼>6 小时前
AI+货物追踪:集装箱智能追踪系统
人工智能·深度学习·算法·机器学习
z小猫不吃鱼6 小时前
模型剪枝经典论文精读:NISP: Pruning Networks using Neuron Importance Score Propagation
算法·机器学习·剪枝
researcher-Jiang6 小时前
栈的模板类与基本应用(还差栈混洗)
算法
foundbug9997 小时前
Polar Code 编解码 MATLAB 实现
开发语言·算法·matlab
李小小钦7 小时前
D. Storming Arasaka(Codeforces 2238)
c语言·开发语言·数据结构·c++·算法
技术不好的崎鸣同学7 小时前
[ACTF2020 新生赛]Include 思路及解法
算法·安全·web安全