一:论语
己所欲 也要勿施于人 ,每个人的经历和阅历都是不同的 你凭啥说你认为的很开心的事情 去要求别人呢
二:题目
三:上码
class Solution {
public:int jump(vector<int>& nums) {/**思路:1.这里的难点就在于 我们需要判断下一步的的最远跳跃距离,而不能只考虑每次都跳最远的距离因为比如(2 3 1 2 4) 如果我们一开始就按最远距离跳跃的话,我们就会错过 3 然而3可以一步到位 2.基于此 我们就需要设置一个变量来 不断更新我们的相邻的坐标最远跳跃距。*/if(nums.size()==1) return 0; int nextDistence = 0;//下一个坐标可以移动的最远距离int curDistence = 0;//当前坐标可以移动的最远距离int step = 0;for(int i = 0; i < nums.size(); i++) { //i+nums[i]nextDistence = max(i+nums[i],nextDistence);//i+nums[i]//这里统计的移动的最远距离是从头开始计算的if(nextDistence >= nums.size()-1) return step+1;//这里如果加一 是统计我们的最后一步到位//当到达上一步最远的距离的时候,那么就意味着我们需要进行一次新的起跳距离if(i == curDistence){step++;curDistence = nextDistence;}}return step;}
};