本文主要是介绍代码随想录算法训练营第三十二天| 122.买卖股票的最佳时机II,55. 跳跃游戏 ,45.跳跃游戏II,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
122. 买卖股票的最佳时机 II - 力扣(LeetCode)
class Solution {public int maxProfit(int[] prices) {if(prices.length == 0){return 0;}int min = prices[0];int result = 0;for(int i=1;i<prices.length;i++){if(prices[i] > min){result += (prices[i] - min);min = prices[i];continue;}if(min > prices[i]){min = prices[i];}}return result;// int buyIndex = -1;// int result = 0;// for (int i = 0; i < prices.length - 1; i++) {// if (prices[i] <= prices[i + 1]) {// if (buyIndex == -1) {// buyIndex = i;// }// continue;// }// if (buyIndex != -1) {// result += prices[i] - prices[buyIndex];// buyIndex = -1;// }// }// if (buyIndex != -1) {// result += prices[prices.length - 1] - prices[buyIndex];// }// return result;}
}
55. 跳跃游戏 - 力扣(LeetCode)
class Solution {public boolean canJump(int[] nums) {if(nums.length <= 1){return true;}int[] canReachPos = new int[nums.length];for(int i=0;i<canReachPos.length;i++){canReachPos[i] = i + nums[i];}int canReachMaxRemotePos = canReachPos[0];for(int i=0;i<=canReachMaxRemotePos;i++){if(canReachPos[i] >= nums.length-1){return true;}if(canReachPos[i] > canReachMaxRemotePos){canReachMaxRemotePos = canReachPos[i];}}return false;}
}
45. 跳跃游戏 II - 力扣(LeetCode)
class Solution {public int jump(int[] nums) {if (nums.length <= 1) {return 0;}int[] dp = new int[nums.length];Arrays.fill(dp, Integer.MAX_VALUE);dp[0] = 0;for (int i = 1; i <= nums[0] && i < nums.length; i++) {dp[i] = 1;}for (int i = 1; i < nums.length; i++) {for (int j = 0; j <= nums[i]; j++) {if (i + j < nums.length && dp[i + j] == Integer.MAX_VALUE) {dp[i + j] = dp[i] + 1;}}if (dp[nums.length - 1] != Integer.MAX_VALUE) {return dp[nums.length - 1];}}return dp[nums.length - 1];}
}
这篇关于代码随想录算法训练营第三十二天| 122.买卖股票的最佳时机II,55. 跳跃游戏 ,45.跳跃游戏II的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!