122. 买卖股票的最佳时机 II
class Solution {
public:
int maxProfit(vector<int>& prices) {
int result = 0;
for (int i = 0; i < prices.size() - 1; ++i) {
if (prices[i] <= prices[i + 1]) {
result += prices[i + 1] - prices[i];
}
}
return result;
}
};
55. 跳跃游戏
在平时的作业里遇到过相似的题目
class Solution {
public:
bool canJump(vector<int>& nums) {
int maxjump = 0;
int cur = 0;
for (int i = 0; i < nums.size(); ++i) {
cur = i;
maxjump = max(nums[cur] + i, maxjump);
if (cur >= maxjump) {
break;
}
}
if (cur >= nums.size() - 1) return true;
return false;
}
};
45. 跳跃游戏 II
class Solution {
public:
int jump(vector<int>& nums) {
if (nums.size() == 1) return 0;
int curDistance = 0;
int nextDistance = 0;
int step = 0;
for (int i = 0; i < nums.size(); ++i) {
nextDistance = max(nextDistance, nums[i] + i);
if (i == curDistance) {
step++;
curDistance = nextDistance;
if (curDistance >= nums.size() - 1) {
break;
}
}
}
return step;
}
};
贪心问题感觉主要讲究一个读懂题目,同时进行接近本质的模拟