首页 > 最小花费爬楼梯
头像 牛客题解官
发表于 2022-04-22 12:38:17
题目主要信息: 给定一个数组,其中每个元素代表该级楼梯向上爬需要支付的费用,下标从0开始 一旦支付费用,可以任意选择爬一级或是二级 需要求爬到顶楼,即越过数组末尾元素所需要的最小花费 可以从下标为0或是1的台阶开始 举一反三: 学习完本题的思路你可以解决如下题目: BM62.斐波那契数列 BM6 展开全文
头像 千禧1
发表于 2022-03-15 21:55:43
经典的DP分析 1、一般dp[i]就表示结果,那么i就表示下标。 2、这道题是要走出去,所以就是要走出去前前一步。 3、dp转移方程分析 走到当前台阶是从哪一步,dp[i-1]和dp[i-2] 加上当前当前台阶的花费 import java.util.*; public class Solut 展开全文
头像 菜鸡孙连城
发表于 2022-03-24 19:22:28
dp dp 你看我长得像dp吗? 刚抄了一道题,还是不太懂dp,dp难dp易,dp就是放狗屁,快点去下地 可以用一个数组记录每次爬到第i阶楼梯的最小花费,然后每增加一级台阶就转移一次状态,最终得到结果 每次到一个台阶,只有两种情况,要么是它前一级台阶向上一步,要么是它前两级的台阶向上两步,因为在前面 展开全文
头像 fred-coder
发表于 2022-02-17 11:33:34
动态规划, 每次走的步骤取决于前两个的状态; 状态转移方程: 当长度 < 2 时,直接返回 cost[0]; 当长度 >= 2 时,当前值取决于min(dp[i-1], dp[i-2]) + cost[i]; 代码如下: class Solution: def minCostCl 展开全文
头像 Double_冰
发表于 2022-05-12 16:55:55
/* 动态规划,d[n] = min(d[i-1]+cost[i-1],d[i-2]+cost[i-2]); */ int min(int a, int b){     if(a>b)&nbs 展开全文
头像 摸鱼学大师
发表于 2022-02-19 14:00:09
题目主要信息: 给定一个数组,其中每个元素代表该级楼梯向上爬需要支付的费用,下标从0开始 一旦支付费用,可以任意选择爬一级或是二级 需要求爬到顶楼,即越过数组末尾元素所需要的最小花费 可以从下标为0或是1的台阶开始 具体思路: 可以用一个数组记录每次爬到第i阶楼梯的最小花费,然后每增加一级台阶就 展开全文
头像 风中的聂鲁达
发表于 2022-02-21 18:08:29
动态规划 到达楼顶花费的最小值可以想成从楼顶往下2层或者从楼顶往下1层上来花费的最小值,由此递推,可设dp[i]为从第i楼往上走花费的最小值,则dp[i]的递推式为: dp[i]=min{dp[i−1],dp[i−2]}+cost[i]dp[i] = min \{ dp[i-1],dp[i-2]\} 展开全文
头像 牛客321661970号
发表于 2022-06-18 23:54:59
描述 给定一个整数数组 cost  ,其中 cost[i]  是从楼梯第i 个台阶向上爬需要支付的费用,下标从0开始。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 展开全文
头像 夕木月
发表于 2022-07-28 16:25:38
/**  * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可  *  *   * @param cost int整型一维数组   * @param costLen int cost数组长度  * 展开全文
头像 爱敲代码的秃头怪
发表于 2023-03-26 20:50:28
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param cost int整型一维数组 * 展开全文
头像 千楼
发表于 2022-04-12 01:20:24
走上第i个楼梯 = (第i - 2个楼梯走2个楼梯 和 第i - 1个楼梯走1个楼梯)的最小值决定 import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 展开全文

等你来战

查看全部