122. 买卖股票的最佳时机 II
class Solution {
public int maxProfit(int[] prices) {
if (prices.length == 1) {
return 0;
}
int interest = 0;
int pre = 0, count = 0, cur = 1;
for (cur = 1; cur < prices.length; cur++) {
count = prices[cur] - prices[pre];
if (count > 0) {
interest += count;
}
pre++;
}
return interest;
}
}
55. 跳跃游戏
public boolean canJump(int[] nums) {
if (nums.length == 1) {
return true;
}
int cover = nums[0];
for (int i = 0; i <= cover; i++) {
// cover 表示可以跳的范围
// i : 是跳了几步
// nums[i] : 因为跳了i步到达了i,然后nums[i]就是下一步可以跳的
// 然后找最大的
// i + nums[i] : 是最远的下标
cover = Math.max(cover, i + nums[i]);
if (cover >= nums.length - 1) {
return true;
}
}
return false;
}
45. 跳跃游戏 II
public int jump(int[] nums) {
int times = 0;
int maxIndex = 0;
int end = maxIndex;
for (int i = 0; i < nums.length-1; i++) {
maxIndex = Math.max(maxIndex, i + nums[i]);
if (i == end) {
end = maxIndex;
times++;
}
}
return times;
}