55. Jump Game

来源:互联网 发布:java程序员兼职 编辑:程序博客网 时间:2024/06/05 04:59

iven an array of non-negative integers, you are initially positioned at the first index of the array.

Each element in the array represents your maximum jump length at that position.

Determine if you are able to reach the last index.

For example:

A = [2,3,1,1,4], return true.A = [3,2,1,0,4], return false.

思路:从第一步开始计算出可以前进的最大步数,每走一步比较更新该值,始终保持当前位置的时候可以前进步长最大,到达最终位置前若出现步长小于等于0,说明失败;

bool canJump(vector<int>& nums) {        if (nums.size() == 0)return false;        int len = nums.size();        int maxlen = nums[0];        for (int i = 1; i < len; i++){            if (maxlen <= 0)return false;            else maxlen = max(--maxlen, nums[i]);        }        return true;    }