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. 跳跃游戏 link
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(i + nums[i], cover);if(cover >= nums.size() - 1)return true;}return false;}
};
45. 跳跃游戏 II link
class Solution {
public:int jump(vector<int>& nums) {if(nums.size() == 1) return 0;int curDistance = 0;int ans = 0;int nextDistance = 0;for(int i = 0; i < nums.size(); i ++){nextDistance = max(nums[i] + i, nextDistance);if(i == curDistance){ans ++;curDistance = nextDistance;if(nextDistance >= nums.size() - 1) break;}}return ans;}
};
1005. K 次取反后最大化的数组和 link
class Solution {
public:static bool cmp(int a, int b){return abs(a) > abs(b);}int largestSumAfterKNegations(vector<int>& nums, int k) {sort(nums.begin(), nums.end(), cmp);for(int i = 0; i < nums.size(); i ++){if(nums[i] < 0 && k > 0){nums[i] *= -1;k --;}}if(k % 2 == 1) nums[nums.size() -1] *= -1;int result = 0;for(int a: nums) result += a;return result;}
};