您的位置:首页 > 编程语言 > C语言/C++

【C++】【LeetCode】55. Jump Game

2017-07-09 10:27 519 查看

题目

Given 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.

思路

从尾端开始遍历,如果当前数字不能到达下一个位置,则给最低跳跃长度加1,继续遍历下一个数字。这个思路打败了92.23%,笔者非常高兴!

代码

class Solution {
public:
bool canJump(vector<int>& nums) {
int numOfJump = 0;

for (vector<int>::reverse_iterator i = nums.rbegin()+1; i != nums.rend(); i++) {
if (*i <= numOfJump) {
numOfJump++;
} else {
numOfJump = 0;
}
}
if (numOfJump == 0) {
return true;
} else {
return false;
}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode