122.买卖股票的最佳时机II
题目链接:122. 买卖股票的最佳时机 II - 力扣(LeetCode)
思路:将后一天的和现在相减并累加非0值,
class Solution {
public int maxProfit(int[] prices) {
int result = 0;
for(int i = 1; i < prices.length; i++){
result += Math.max(prices[i] - prices[i-1], 0);
}
return result;
}
}
55. 跳跃游戏
思路:记录最大的覆盖范围,知道覆盖范围超出长度
class Solution {
public boolean canJump(int[] nums) {
if(nums.length == 1){
return true;
}
int coverRange = 0;
for(int i = 0; i < nums.length; i++){
coverRange = Math.max(coverRange,nums[i] + i);
if(coverRange >= nums.length){
return ture;
}
}
return false;
}
}
45.跳跃游戏II
题目链接:45. 跳跃游戏 II - 力扣(LeetCode)
思路:需要一个临时的长度来记录在当前可到达的范围了,下一个最长长度是多少,防止重复走。
class Solution {
public int jump(int[] nums) {
int result = 0;
int endlength = 0;
int temp = 0;
for(int i = 0; i <= endlength && endlength < nums.length -1; i++){
temp = Math.max(temp,i+nums[i]);
if(i == endlength){
endlength = temp;
result++;
}
}
return result;
}
}
本文概述了三道LeetCode题目,涉及股票投资中的最大利润计算(买卖时机)、判断能否跳跃到数组末尾(跳跃游戏)以及改进版的跳跃游戏II,展示了如何使用编程解决这些与动态规划和边界条件有关的问题。

被折叠的 条评论
为什么被折叠?



