网站同时做竞价和优化可以,济源做网站公司,wordpress内核源码分析,看济南新闻题目链接#xff1a;
45. 跳跃游戏 II - 力扣#xff08;LeetCode#xff09;
思路分析#xff1a;这属于上一题的变种#xff0c;思路有所不同#xff0c;要用到贪心的思想。从第一步开始#xff0c;在可以跳跃的范围内#xff0c;选择能够到达最远位置的点将其作为…题目链接
45. 跳跃游戏 II - 力扣LeetCode
思路分析这属于上一题的变种思路有所不同要用到贪心的思想。从第一步开始在可以跳跃的范围内选择能够到达最远位置的点将其作为下一次的跳点然后逐次更新直到得到结果。题目中maxpos表示当前阶段内能够到达的最远距离也就是下一次跳到的点end表示查找的边界step记录跳跃的步数。
算法分析这道题目用到了贪心的算法思想在保证局部最优的同时得到全局最优解属于比较常见的一类题目。
参考代码
class Solution {
public:int jump(vectorint nums) {int maxpos0,nnums.size(),end0,step0;//maxpos表示当前阶段能跳跃的最大距离end表示当前阶段的结尾for(int i0;in-1;i){//遍历数组只到n-1是因为无需到最后一个元素题目中说一定可以完成maxposmax(maxpos,nums[i]i);//寻找当前阶段内最大的条约距离if(iend){//如果已经到当前阶段的末尾endmaxpos;//更新新的末尾step;//增加一次条约的次数}}return step;//返回结果}
};