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

server/2024/10/21 4:00:23/

509. 递归经典入门,不难。需要注意在初始化dp数组的时候注意的是new int[n + 1], 不是n. 因为下标从0开始所以在遍历的时候要等==n再停止,最后返回dp的最后一个值就可以。

class Solution {public int fib(int n) {if (n <= 1) 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. 之前做过,跟上一题其实是差不多的。这里需要注意的是:

  1. n<=1的判断条件不能忘
  2. dp[0]其实考虑不考虑都没意义,dp[1]和dp[2]对了就行,dp[i]表示在i层台阶有几种跳法。
  3. 从i=3的时候开始遍历
class Solution {public int climbStairs(int n) {if(n<=1) return n;int[] dp = new int[n+1];dp[0] = 0;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. 上一题的演化。

  1. dp[i]的定义:到达第i台阶所花费的最少体力为dp[i]。
  2. 从下标为 0 或下标为 1 的台阶开始,因此支付费用为0

  3. dp[i] 的取值,可以是一步也可以是两步取最小值。!

    class Solution {public int minCostClimbingStairs(int[] cost) {int len = cost.length;int[] dp = new int[len + 1];// 从下标为 0 或下标为 1 的台阶开始,因此支付费用为0dp[0] = 0;dp[1] = 0;// 计算到达每一层台阶的最小费用for (int i = 2; i <= len; i++) {dp[i] = Math.min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);}return dp[len];}
    }


http://www.ppmy.cn/server/31907.html

相关文章

jQuery的简单使用

jQuery的简单使用 jQuery查找父、子、兄弟节点jQuery查找内容元素筛选遍历元素操作元素width() / height() 设置宽高.css() 设值样式attr() / prop() 设置属性增加、删除、切换class删除和清空 操作元素总结选择表达式链式操作取值和赋值函数 HTML_1 <table id"table_…

Activiti7 开发快速入门【2024版】

记录开发最核心的部分&#xff0c;理论结合业务实操减少废话&#xff0c;从未接触工作流快速带入开发。假设你是后端的同学学过JAVA和流程图&#xff0c;则可以继续向后看&#xff0c;否则先把基础课程书准备好先翻翻。 为什么要工作流 比起直接使用状态字段&#xff0c;工作…

Ubuntu20.04安装MySQL数据库

1、说明 1.1、MySQL介绍 MySQL是一个开源数据库管理系统&#xff0c;通常作为流行的LAMP&#xff08;Linux&#xff0c;Apache&#xff0c;MySQL&#xff0c;PHP / Python / Perl&#xff09;堆栈的一部分安装。它使用关系数据库和SQL&#xff08;结构化查询语言&#xff09;来…

Jenkins自动化搭建记录

每一份努力都是有一份期盼&#xff0c;每一份付出都是为了有更多的收获。 本文记录一次搭建Jenkins自动参数化打包APK的实现过程和碰到的问题&#xff0c;实现了在Windows和Mac系统下的自动化打包流程。 因为Jenkins的安装过程在网上的教程很多&#xff0c;这里就不在赘述。 …

SinoDB SQL管理工具之-DBeaver安装使用说明

本文介绍如何使用DBeaver管理工具连接SinoDB数据库。 1. DBeaver下载 下载地址&#xff1a;Download | DBeaver Community 请根据需求选择对应自己操作系统的版本进行下载。本次示例使用Windows 64位操作系统进行安装配置。下载版本为&#xff1a;dbeaver-ce-23.0.2-x86_64-…

基于SpringBoot的饭店外卖平台的设计与实现

项目描述 这是一款基于SpringBoot的饭店外卖平台的系统 模块描述 用户端 登录 首页 商家信息 点餐 菜品列表 下单 订单列表 账号下单列表 个人中心 个人资料 修改信息 评论管理 评论菜品 查看评论 打赏骑手 打赏骑手 管理员 登录 菜品管理 修改 下架 订单列表 下单记录 菜品管理…

动态sql

本文参考mybatis看这一篇就够了&#xff0c;简单全面一发入魂 动态SQL 可以根据具体的参数条件&#xff0c;来对SQL语句进行动态拼接。 比如在以前的开发中&#xff0c;由于不确定查询参数是否存在&#xff0c;许多人会使用类似于where 1 1 来作为前缀&#xff0c;然后后面用…

双系统下删除ubuntu

絮絮叨叨 由于我在安装Ubuntu的时候没有自定义安装位置&#xff0c;而是使用与window共存的方式让Ubuntu自己选择安装位置&#xff0c;导致卸载时我不知道去格式化哪个分区&#xff0c;查阅多方资料后无果&#xff0c;后在大佬帮助下找到解决方案 解决步骤 1、 插上Ubuntu安…