• 55. Jump Game(js)


    55. Jump Game

    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.
    题意:将数组的当前项的值作为步长向后移动,是否能到达数组的最后一项
    代码如下:
    /**
     * @param {number[]} nums
     * @return {boolean}
     */
    //last:上一步步长,curr:当前步步长,
    var canJump = function(nums) {
        var last=0;
        var curr=0;
       
        var len=nums.length;
        for(var i=0;i<len;i++){
            //不能到达终点或者跨过终点
            if(i>curr){
                return false;
            }
            //继续下一步
            if(i>last){
                last=curr;
            }
            curr=Math.max(curr,i+nums[i]);
        }
        return true;
    };
  • 相关阅读:
    C++ mutex&&RWlock
    一个资源池模型
    C++安全编码摘录
    C++点滴
    git常用命令(转)
    ASN.1
    TDOA泰勒级数法
    teamviewer解除最大通话限制-特别破解版(转)
    剑指offer——旋转数组的最小数字
    常见的相关分析方法——结合实例
  • 原文地址:https://www.cnblogs.com/xingguozhiming/p/10458490.html
Copyright © 2020-2023  润新知