Leetcode刷题日记Day32-----------------贪心算法
1. 122.买卖股票的最佳时机II
- 题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/
- 文章链接:https://programmercarl.com/0122.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BAII.html
- 视频链接:https://www.bilibili.com/video/BV1ev4y1C7na/?spm_id_from=333.788&vd_source=1fb98c05c7fbfd06713f014ea5079d5b
class Solution {
public int maxProfit(int[] prices) {
//if(prices.length==1) return 0;
int result=0;
for(int i=1;i<prices.length;i++){
result+=Math.max(prices[i]-prices[i-1],0);//利润为负的时候,当作0来处理
}
return result;
}
}
2. 55. 跳跃游戏
- 题目链接:https://leetcode.cn/problems/jump-game/
- 文章链接:https://programmercarl.com/0055.%E8%B7%B3%E8%B7%83%E6%B8%B8%E6%88%8F.html
- 视频链接:https://www.bilibili.com/video/BV1VG4y1X7kB/?spm_id_from=333.788&vd_source=1fb98c05c7fbfd06713f014ea5079d5b
关键点是对覆盖范围的定义!
class Solution {
public boolean canJump(int[] nums) {
if(nums.length==1) return true;
int coverRange=0;
for(int i=0;i<=coverRange;i++){
coverRange=Math.max(coverRange,i+nums[i]);//关键点:更新Coverange的值
if(coverRange>=nums.length-1) return true;
}
return false;
}
}
3. 45.跳跃游戏II
- 题目链接:https://leetcode.cn/problems/jump-game-ii/
- 文章链接:https://programmercarl.com/0045.%E8%B7%B3%E8%B7%83%E6%B8%B8%E6%88%8FII.html
- 视频链接:https://www.bilibili.com/video/BV1Y24y1r7XZ/?spm_id_from=333.788&vd_source=1fb98c05c7fbfd06713f014ea5079d5b