122.买卖股票的最佳时机II
class Solution {
public:
int maxProfit(vector<int>& prices) {
vector<int> profits(prices.size() - 1, 0);
int sum = 0;
for(int i = 0, j = 1; j < prices.size(); i++, j++){
profits[i] = prices[j] - prices[i];
}
for(int i : profits){
if(i > 0) sum += i;
}
return sum;
}
};
55. 跳跃游戏
class Solution {
public:
bool canJump(vector<int>& nums) {
for(int i = 0; i < nums.size(); i++){
if(nums[i] == 0){
if(i == nums.size() - 1) return true;
if(!canJump(i, nums)) return false;
}
}
return true;
}
bool canJump(int index, const vector<int>& nums){
int times = 1;
for(int i = index - 1; i >= 0; i--){
if(nums[i] > times) return true;
times++;
}
return false;
}
};
45.跳跃游戏II
class Solution {
public:
int jump(vector<int>& nums) {
int curDistance = 0;
int ans = 0;
int nextDistance = 0;
for (int i = 0; i < nums.size() - 1; i++) {
nextDistance = max(nums[i] + i, nextDistance);
if (i == curDistance) {
curDistance = nextDistance;
ans++;
}
}
return ans;
}
};