赞
踩
与leetcode 55不一样的地方在于这个需要计算出次数。因此仅需计算出次数即可,那么要明白步数在什么时候增加
达到当前的最大位移时,但是仍然不是数组的最后一个节点时+1
class Solution { public: int jump(vector<int>& nums) { int count = 0; int cur_index = 0; int cover = 0; if(nums.size() == 1) { return 0; } for(int i = 0; i < nums.size(); i++) { // 计算并且获取最大位移 cover = max(nums[i]+i, cover); if(i==cur_index) // 遍历到最大位移处 { if(cur_index != nums.size()-1) { // 非最后一个元素处 count++; // 步数加一 cur_index = cover; // 更新 if(cover >= nums.size()-1) { break; } } } } return count; } };
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。