数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。 您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。 示例 1: 输入:...
func minCostClimbingStairs(cost []int) int { n := len(cost) // dp[i % 3] 表示爬到第 i 层楼梯所需的最小费用,初始 dp[0] = dp[1] = 0 dp := make([]int, 3) for i := 2; i <= n; i++ { // dp[i] 的状态来源有两个,取两者的较小值: // 1. dp[i - 1]: 在第...
代码: class Solution { public int minCostClimbingStairs(int[] cost) { for (int i = 2; i < cost.length; i++) { // 到达i处,需要的最少花费 cost[i] = cost[i] + Math.min(cost[i-1], cost[i-2]); } return Math.min(cost[cost.length-1], cost[cost.length-2]); } }编辑...
classSolution {public:intminCostClimbingStairs(vector<int>&cost) { unordered_map<int,int>memo;returnhelper(cost, cost.size(), memo); }inthelper(vector<int>& cost,inti, unordered_map<int,int>&memo) {if(memo.count(i))returnmemo[i];if(i <=1)returnmemo[i] =cost[i];returnmemo[i] =...
Min Cost Climbing Stairs [746]题目描述简单来说就是:要跳过当前楼梯需要花费当前楼梯所代表的价值cost[i], 花费cost[i]之后,可以选择跳一阶或者两阶楼梯,以最小的代价达到楼层,也就是跨过所有楼梯问题解决穷举法从第一阶楼梯开始,遍历所有可能的情况,然后选择代价最小的。复杂度会比较高,时间复杂度O(2^n),...
publicintminCostClimbingStairs(int[]cost){intprev=0,prev2=0,current=0;for(inti=2;i<cost.length+1;i++){current=Math.min(cost[i-2]+prev2,cost[i-1]+prev);prev2=prev;prev=current;}returncurrent;} 04 小结 算法专题目前已日更超过五个月,算法题文章176+篇,公众号对话框回复【数据结构与算...
746. Min Cost Climbing Stairs 746. Min Cost Climbing Stairs 题目描述:https://leetcode.com/problems/min-cost-climbing-stairs/ 1.先验知识,跳台阶,每次可以跳一阶或者两阶,对于N节台阶有多少种方式。 dp[i]记录i节台阶的方式 dp[0] = 0 dp[1] = 1 dp[2] = 2,一次跳一个台阶,跳两次,或者...
dp[i] = min(dp[i - 1], dp[i - 2]) + cost[i] return min(dp[-1], dp[-2]) def minCostClimbingStairs_2(self, cost: List[int]) -> int: prev, back = 0, 0 for i in range(len(cost)): prev, back = back, min(prev, back) + cost[i] ...
746. Min Cost Climbing Stairs刷题笔记 题目描述出bug的时候输出打印dp就行 class Solution: def minCostClimbingStairs(self, cost: List[int]) -> int: n = len(cost)+1 if n <=3: return min(cost[0],cost[1]) dp = [0]*n cost.append(0)...
LWC 63:746. Min Cost Climbing Stairs 传送门:746. Min Cost Climbing Stairs Problem: On a staircase, the i-th step has some non-negative cost cost[i] assigned (0 indexed). Once you pay the cost, you can either climb one or two steps. You need to find minimum cost to reach the top...