122. 买卖股票的最佳时机 II - 力扣(LeetCode)
class Solution {public int maxProfit(int[] prices) {int res=0;for(int i =1;i<prices.length;i++){if((prices[i]-prices[i-1])>0){res+=prices[i]-prices[i-1];}}return res;}
}
55. 跳跃游戏 - 力扣(LeetCode)
局部最优,每次遍历都找最大的覆盖范围,
全局最优,到最后就是整个数组跳跃的最大范围。
public class Solution {public boolean canJump(int[] nums) {int range = 0;for(int i = 0;i<=range;i++){range = Math.max(range,i+nums[i]);if(range>=nums.length-1){return true;}}return false;}
}
45. 跳跃游戏 II - 力扣(LeetCode)
跳跃几次,更新几次覆盖范围
因为这个范围可以一次选择跳动的,更改范围,说明一次挑不到,要再跳
所以count++再新范围这里。
class Solution {public int jump(int[] nums) {if(nums.length==1){return 0;}int range = 0;int count = 0;int maxRange = 0;for(int i =0;i<=range;i++){maxRange = Math.max(maxRange,i+nums[i]);if(maxRange >= nums.length-1){//养成类似范围写成>=的习惯,不容易报错count++;break;}if(i==range){range = maxRange;count++;}}return count;}
}