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

【动态规划】

1、三步问题 - 力扣(LeetCode)


  • 算法原理:

1、题目解析

小孩每次可以上1个台阶、两个台阶、三个台阶;

当只有一个台阶的时候只有一种方式
当有两个台阶的时候,有两种方式
当有三种台阶的时候,三种上法都可以使用,此时有四种方式

2、状态转移方程

当到了i位置的时候,与其最近的位置就是i-1,i-2,i-3,通过这三步来划分问题

3、初始化

根据题意,有三种上楼梯方式,所以给前三个初始化

dp[1] = 1

dp[2] = 2

dp[3] = 4

4、填表顺序:从左往右

5、返回值 

返回n位置的方法数,即:dp[n]

代码:

class Solution {//1、创建 dp 表//2、初始化//3、填 dp 表//4、返回值public int waysToStep(int n) {//结果取模int MOD = (int)1e9 + 7;//处理一下边界情况if(n == 1 || n == 2){return n;}if(n == 3){return 4;}int[] dp = new int[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];}
}

2、使用最小花费爬楼梯 - 力扣(LeetCode)


http://www.mrgr.cn/news/46731.html

相关文章:

  • EE213 Lab virtuoso final project SRAM designlayout
  • Ubuntu打开文件夹不显示文件
  • Nodejs 安装配置多个版本
  • rtthread学习笔记系列--18 信号 SIGNAL
  • Elasticsearch:向量数据库基础设施类别的兴衰
  • CSS:定位
  • Http 协议和 RPC 协议有什么区别?
  • JavaEE: HTTPS的魅力与优势揭秘
  • 1. Keepalived概念和作用
  • 代码随想录算法训练营第二十九天|93.复原IP地址 78.子集 90.子集II
  • PostgreSQL的学习心得和知识总结(一百五十三)|[performance]将 OR 子句转换为 ANY 表达式
  • 苹果电脑磁盘满了怎么清理内存?必看清理秘籍
  • maven加载依赖成功但是引入import不了包,注解报错
  • ★ 算法OJ题 ★ 二分查找算法
  • 网络安全产品类型
  • 数据结构——排序(交换排序)
  • 路由协议常见知识点
  • 初学Java基础Day15---面相对象之this,static关键字,静态代码块
  • Java如何查看变量的数据类型
  • 初识Mysql/备份,基础指令
  • 网络编程(16)——asio多线程模型IOServicePool
  • PE结构之导出表
  • 【hot100-java】二叉搜索树中第 K 小的元素
  • 内核编译 设备驱动 驱动程序
  • ARP欺骗
  • 小赢卡贷公益行:乡村振兴与多元公益并进