代码随想录算法训练营第32天 | 122.买卖股票的最佳时机II 、 55. 跳跃游戏、 45.跳跃游戏II
122.买卖股票的最佳时机II
本题解法很巧妙,大家可以看题思考一下,在看题解。
https://programmercarl.com/0122.买卖股票的最佳时机II.html
/**
* @param {number[]} prices
* @return {number}
*/
var maxProfit = function(prices) {
let res = 0;
for (let i=0;i<prices.length-1;i++) {
if (prices[i]>=prices[i+1]) {
continue;
}
let diff = prices[i+1]-prices[i];
res += diff;
}
return res;
};
- 跳跃游戏
本题如果没接触过,很难想到,所以不要自己憋时间太久,读题思考一会,没思路立刻看题解
https://programmercarl.com/0055.跳跃游戏.html
/**
* @param {number[]} nums
* @return {boolean}
*/
var canJump = function(nums) {
let cover = 0;
if (nums.length === 1) return true;
for (let i=0;i<=cover;i++) {
cover = Math.max(i+nums[i],cover);
if (cover>=nums.length-1) return true;
}
return false;
};
45.跳跃游戏II
本题同样不容易想出来。贪心就是这样,有的时候 会感觉简单到离谱,有时候,难的不行,主要是不容易想到。
https://programmercarl.com/0045.跳跃游戏II.html
难,根据第二题想不到这题
/**
* @param {number[]} nums
* @return {number}
*/
var jump = function(nums) {
if (nums.length === 1) return 0;
let next = 0;
let res = 0;
let cur = 0;
for (let i =0;i<nums.length;i++) {
next = Math.max(nums[i]+i,next);
if (i === cur) {
res++;
cur = next;
if (cur>=nums.length-1) break;
}
}
return res;
};
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?