zoukankan      html  css  js  c++  java
  • 33.Jump Game(跳步游戏)

    Level:

      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.

    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.
    

    思路分析:

      要想能够走到最后一个元素,则从头开始遍历,变量reach实时更新所能走的最大步数,判断能走的最大步数reach是否大于i,如果能则继续往下走,更新reach变量。

    代码:

    public class Solution{
        public boolean canJump(int []nums){
            int reach=0;
            for(int i=0;i<nums.length;i++){
                if(i>reach)
                    return false;
                reach=Math.max(reach,i+nums[i]); //更新最大还能走几步
            }
            return true;
        }
    }
    
  • 相关阅读:
    NOIP2016提高A组五校联考3总结
    【JZOJ4807】破解
    poj3659树状DP
    hdu1054 树状dp
    poj 1190 DFS 不等式放缩进行剪枝
    树状dp ural1018
    hdu1520 第一道树形DP,激动哇咔咔!
    动态规划复习
    poj2251 三维简单BFS
    hdu1272并查集入门
  • 原文地址:https://www.cnblogs.com/yjxyy/p/10847016.html
Copyright © 2011-2022 走看看