122.买卖股票的最佳时机II
class Solution {
public:
int maxProfit(vector<int>& prices) {
int result = 0;
for (int i = 1; i < prices.size(); i++) {
result += max(prices[i] - prices[i - 1], 0);
}
return result;
}
};
思路太重要了

55. 跳跃游戏
class Solution {
public:
bool canJump(vector<int>& nums) {
int cover = 0;
if (nums.size() == 1) return true;
for (int i = 0; i <= cover; i++) {
cover = max(cover, i + nums[i]);
if (cover >= nums.size() - 1) return true;
}
return false;
}
};
45.跳跃游戏II
class Solution {
public:
int jump(vector<int>& nums) {
if (nums.size() == 1) return 0;
int cur = 0;
int next = 0;
int res = 0;
for (int i = 0; i < nums.size(); i++) {
next = max(next, nums[i] + i);
if (i == cur) {
res++;
cur = next;
if (next >= nums.size() - 1) break;
}
}
return res;
}
};
本文介绍了如何通过编程解决股票买卖的最佳时机问题,以及两个跳跃游戏的类Solution实现,展示了动态规划在这些问题中的应用。
777

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



