台州网站公司建站,小程序制作难吗,旅游网站建设的建议,.net和php哪个做网站好122.买卖股票的最佳时机 II
题目链接#xff1a;力扣题目链接
思路#xff1a;因为是求虽大利润完全可以假设知道第二天涨前一天买入即可#xff0c;就是求两天只差大于0 的和。
55. 跳跃游戏
题目链接#xff1a;力扣题目链接
思路#xff1a;应该从后往前循环判断力扣题目链接
思路因为是求虽大利润完全可以假设知道第二天涨前一天买入即可就是求两天只差大于0 的和。
55. 跳跃游戏
题目链接力扣题目链接
思路应该从后往前循环判断只要能在当前位置跳跃到队尾就可以把队尾更新到当前位置然后继续循环。
class Solution {boolean res false;public boolean canJump(int[] nums) {int lastPos nums.length - 1;for(int inums.length - 2;i0;i--){if(inums[i]lastPos){lastPos i;}}return lastPos 0;}
} 45.跳跃游戏II 题目链接力扣题目链接 思路一开始的想法是动态规划但是动态规划会超时不是不能用只是时间复杂度高会超时。只能使用贪心算法。要计算当前范围能到哪里另一个就是当前范围跳到的地方下一次最远能到哪里。也就是这里需要统计两个覆盖范围当前这一步的最大覆盖和下一步最大覆盖。如果移动下标达到了当前这一步的最大覆盖最远距离了还没有到终点的话那么就必须再走一步来增加覆盖范围直到覆盖范围覆盖了终点。 class Solution {public int jump(int[] nums) {int time0;int currentEnd 0; // 当前跳跃的最远边界int farthest 0;for (int i 0; i nums.length - 1; i) {// 更新能够跳到的最远位置farthest Math.max(farthest, i nums[i]);// 当我们到达了当前跳跃的边界if (i currentEnd) {time; // 增加跳跃次数currentEnd farthest; // 更新当前边界为最远位置// 如果当前边界已经超过或到达终点if (currentEnd nums.length - 1) {break;}}}return time;}
} 1005.K次取反后最大化的数组和 题目链接力扣题目链接 思路让绝对值大的负数变为正数当前数值达到最大整体最优整个数组和达到最大。那么如果将负数都转变为正数了只找数值最小的正整数进行反转。 时间2h