文档讲解:代码随想录 (programmercarl.com)
视频讲解:代码随想录的个人空间-代码随想录个人主页-哔哩哔哩视频 (bilibili.com)
题目链接:122. 买卖股票的最佳时机 II - 力扣(LeetCode)
代码如下:
class Solution {
public:
int maxProfit(vector<int>& prices) {
int count=0;
for(int i=1;i<prices.size();i++){
if(prices[i]>prices[i-1]){
count+=prices[i]-prices[i-1];
}
}
return count;
}
};
解题代码如下:
class Solution {
public:
bool canJump(vector<int>& nums) {
int res=0;
int next=0;
for(int i=0;i<nums.size()-1;i++){
next=nums[i]+i;
res=max(res,next);
if(res<i+1)return false;
}
return true;
}
};
题目链接:45. 跳跃游戏 II - 力扣(LeetCode)
解题思路:记录下一步可达最大范围,如果遍历到当前可达最大范围,就步数加一,并更新当前可达最大范围。
解题代码如下:
class Solution {
public:
int jump(vector<int>& nums) {
int curmax=0;
int nextmax=0;
int res=0;
for(int i=0;i<nums.size()-1;i++){
nextmax=max(nextmax,nums[i]+i);
if(curmax==i){
res++;
curmax =nextmax;
}
}
return res;
}
};