class Solution {
public:
int maxProfit(vector<int>& prices) {
int sum=0;
for(int i=1;i<prices.size();i++){
if(prices[i]-prices[i-1]>0){
sum+=prices[i]-prices[i-1];
}
else sum+=0;
}
return sum;
}
};
55. 跳跃游戏 这道题思路很巧妙,是通过看每一个格子能覆盖的最大值,因为结果只需要返回true和false,而不用返回路径,所以问题简化很多。
class Solution {
public:
bool canJump(vector<int>& nums) {
if(nums.size()==1) return true;
int cover=0;
for(int i=0;i<=cover;i++){
cover = max(i+nums[i],cover);
if(cover>=nums.size()-1) return true;
}
return false;
}
};