沈阳网站建设设计公司,营销网站策划方案,阿里云网站建设有什么好处,宿州网站建设开发公司哪家好代码随想录训练营二刷第三十二天 | 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II
一、 122.买卖股票的最佳时机II
题目链接#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/ 思路#xff1a;可以当天买当天卖#xff0c;只要nums[i…代码随想录训练营二刷第三十二天 | 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II
一、 122.买卖股票的最佳时机II
题目链接https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/ 思路可以当天买当天卖只要nums[i]-nums[i-1]0就可以进行买卖这样只要收益大于0我就交易局部最优全局最优。
class Solution {public int maxProfit(int[] prices) {int sum 0;for (int i 1; i prices.length; i) {int temp prices[i]-prices[i-1];if (temp 0) {sum temp;}}return sum;}
}二、 55. 跳跃游戏
题目链接https://leetcode.cn/problems/jump-game/ 思路nums数组每走一步就更新能抵达最远的距离只要当前距离i大于能抵达的最远距离即无法到达。
public boolean canJump(int[] nums) {if (nums.length 1) return true;int far nums[0];for (int i 1; i nums.length; i) {if (i far) return false;far Math.max(inums[i], far);}return true;}三、45.跳跃游戏II
题目链接https://leetcode.cn/problems/jump-game-ii/ 思路记录下当前能抵达的范围和在当前范围内下一条最远能抵达的距离当抵达当前范围的终点之后就算走了一步更新当前范围当下一跳可以抵达终点时直接返回无效再跳。
class Solution {public int jump(int[] nums) {if (nums.length 1) return 0;int cur 0, pre 0, count 0;for (int i 0; i nums.length; i) {pre Math.max(pre, i nums[i]);if (i cur) {cur pre;count;if (pre nums.length - 1) return count;}}return count;}
}