【LeetCode】113.Jump Game

xiaoxiao2025-10-20  3

题目描述(Medium)

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.

题目链接

https://leetcode.com/problems/jump-game/description/

Example 1:

Input: [2,3,1,1,4] Output: true Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last index.

Example 2:

Input: [3,2,1,0,4] Output: false Explanation: You will always arrive at index 3 no matter what. Its maximum              jump length is 0, which makes it impossible to reach the last index.

算法分析

由于每个点最多可以跳A[i]步,也可以跳0或者1步,因此如果能跳到最后一位,说明每一位都可以到达。那么只需要计算出每个点所能到达的最远处,如果最远处超过最后一位,则说明可以到达。

提交代码:

class Solution { public: bool canJump(vector<int>& nums) { int reach = 1; for (int i = 0; i < reach && reach < nums.size(); ++i) reach = max(reach, nums[i] + i + 1); return reach >= nums.size(); } };
转载请注明原文地址: https://www.6miu.com/read-5038237.html

最新回复(0)