当前位置: 首页 > news >正文

动态规划算法——三步问题

1.题目解析

2.算法原理

本题可以近似看做泰波那契数列,即小孩到第一个台阶需要一步,到第二个台阶则是到第一个台阶的步数加上第一阶到第二阶的步数,同理第三阶就是第二阶的步数加上第二阶到第三阶的步数,由于小孩只能走三步,所以之后的位置就是该位置前三个位置的步数相加

3.实战代码

class Solution {
public:int waysToStep(int n) {const int MOD = 1e9 + 7;//处理边界if(n <= 2){return n;}else if(n == 3){return 4;}vector<int> dp(n + 1);//初始化dp[1] = 1;dp[2] = 2;dp[3] = 4;for(int i = 4;i <= n;i++){//状态转移方程dp[i] = ((dp[i - 1] + dp[i - 2]) % MOD + dp[i - 3]) % MOD;}return dp[n];}
};

 

http://www.lryc.cn/news/455203.html

相关文章:

  • 【鸿蒙学习】深入解析鸿蒙应用与元服务:含义、区别、应用场景及创建方法
  • React学习01 jsx、组件与组件的三大属性
  • 项目——超级马里奥——Day(3)
  • 测试-BUG篇
  • vue2中 vue-count-to组件让数字从某个数字动态的显示到某个数字(后附vue3的用法)
  • AI模型部署初认识
  • 在线生成论文的网站有哪些?分享5款AI一键原创论文免费网站
  • 考研论坛平台|考研论坛小程序系统|基于java和微信小程序的考研论坛平台小程序设计与实现(源码+数据库+文档)
  • Pandas 时间序列处理
  • PCL 1.8.1 + VTK 1.8.0 + QT5.14.2+ VS2017 环境搭建
  • 微信小程序和抖音小程序的分享和广告接入代码
  • 中断系统的原理
  • 安装Rust
  • vite学习教程05、vite+vue2构建本地 SVG 图标
  • 机器学习——自监督学习与无监督学习
  • 2003经典绝版100%仿盛大服务端火炬引擎原版
  • 银河麒麟服务器:更新软件源
  • 字节跳动收购Oladance耳机:强化音频技术,加速VR/AR生态布局
  • Android SystemUI组件(11)SystemUIVisibility解读
  • JSON 全知全解:深入探索 JSON 的奥秘
  • CSS | 响应式布局之媒体查询(media-query)详解
  • 并查集的模拟实现
  • 如何高效删除 MySQL 日志表中的历史数据?实战指南
  • 请散户股民看过来,密切关注两件大事
  • 设计模式之外观模式(Facade)
  • 解锁 Python 嵌套字典的奥秘:高效操作与实战应用指南
  • 联想服务器配置阵列、安装操作系统
  • 【深度强化学习】DDPG实现的4个细节(OUNoise等)
  • 算法工程师重生之第二十二天(递增子序列 全排列 全排列 II 重新安排行程 N皇后 解数独 总结 )
  • css的选择器及优先级