代码随想录算法训练营day38 | 70. 爬楼梯,509. 斐波那契数,746. 使用最小花费爬楼梯

news/2025/2/16 5:36:21/

目录


动态规划五部曲:

  1. 确定dp数组(dp table)以及下标的含义
  2. 确定递推公式
  3. dp数组如何初始化
  4. 确定遍历顺序
  5. 举例推导dp数组

509. 斐波那契数

类型:动态规划

难度:easy

思路:

        f(n)= f(n-1)+ f(n-2)

代码:

class Solution {public int fib(int n) {if (n < 2) {return n;}int[] dp = new int[n + 1];dp[0] = 0;dp[1] = 1;for (int i = 2; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2];}return dp[n];}
}

70. 爬楼梯

类型:动态规划

难度:easy

思路:

        因为一次可以爬一阶或者两阶,所以到某层的方法数量为前两层的方法数之和。

代码:

class Solution {public int climbStairs(int n) {if (n <= 2) {return n;}int[] dp = new int[n + 1];dp[1] = 1;dp[2] = 2;for (int i = 3; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2];}return dp[n];}
}

746. 使用最小花费爬楼梯

类型:动态规划

难度:easy

 

思路:

代码:

class Solution {public int minCostClimbingStairs(int[] cost) {int[] dp = new int[cost.length];dp[0] = 0;dp[1] = 0;for (int i = 2; i < cost.length; i++) {dp[i] = Math.min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);}return Math.min(dp[cost.length - 1] + cost[cost.length - 1], dp[cost.length - 2] + cost[cost.length - 2]);}
}


http://www.ppmy.cn/news/1044810.html

相关文章

如何更好地设计测试用例?

一般来说&#xff0c;软件产品需要满足的特征包括功能性、可靠性、易用性、效率性、可维护性和可移植性。 软件质量模型还有另外一个功能:当你不知道如何设计某个产品的测试用例或者需要补充什么用例时&#xff0c;可以参考软件质量模型的标准。 功能 软件提供满足显式和隐式…

学习笔记230810--get请求的两种传参方式

问题描述 今天写了一个对象方式传参的get请求接口方法&#xff0c;发现没有载荷&#xff0c;ip地址也没有带查询字符串&#xff0c;数据也没有响应。 代码展示 错误分析 实际上这里的query是对象方式带参跳转的参数名&#xff0c;而get方法对象方式传参的参数名是parmas 解…

Android float数组读写文件

在Android上&#xff0c;你可以使用FileOutputStream和BufferedOutputStream类将10万个float类型的数字保存到文件中。为了方便读取和写入&#xff0c;你可以将数据保存为二进制文件格式。以下是一个示例&#xff1a; 保存&#xff1a; import java.io.BufferedOutputStream;…

归并排序:从二路到多路

前言 我们所熟知的快速排序和归并排序都是非常优秀的排序算法。 但是快速排序和归并排序的一个区别就是&#xff1a;快速排序是一种内部排序&#xff0c;而归并排序是一种外部排序。 简单理解归并排序&#xff1a;递归地拆分&#xff0c;回溯过程中&#xff0c;将排序结果进…

C++系列-引用

引用 引用的基本使用引用的起源引用的语法引用的本质引用的注意事项引用和指针 引用作为函数参数引用作为函数的返回值常量引用其它用返回值方式调用函数&#xff08;case 1&#xff09;用函数的返回值初始化引用的方式调用函数&#xff08;case 2&#xff09;用返回引用的方式…

面试算法编程题

面试算法编程题记录 题目 : 羊圈里的狼 题目背景 : 一到了晚上&#xff0c;草原牧民的羊就会被赶进羊圈里。这时&#xff0c;野外的狼群就会打羊羔的主意。为了保护羊羔&#xff0c;牧民需要将羊圈里的狼赶走或杀死。由于来的狼很多&#xff0c;他需要快速甄别哪些狼在羊圈里面…

除自身以外数组的乘积(c语言详解)

题目&#xff1a;除自身外数组的乘积 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据保证数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请不要使用除…

mekefile 编写

mekefile 编写 参考 Linux下使用 autoconf和automake 自动构建 项目 make file文件 makefile 中加入shell语句 if shell 参考 foo.bak: foo.barecho "foo"if [ -d "~/Dropbox" ]; then echo "Dir exists"; fi Or foo.bak: foo.barecho &quo…