• 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;
        }
    }
    
  • 相关阅读:
    伸缩布局
    布局样式
    求最小子数组01
    构建之法阅读笔记02
    第四周学习进度条
    随机生成四则运算03
    用户随机输入一组整数求出最大值
    第三周学习进度条
    随机生成四则运算表达式02
    jsp函数的使用
  • 原文地址:https://www.cnblogs.com/yjxyy/p/10847016.html
Copyright © 2020-2023  润新知