zoukankan      html  css  js  c++  java
  • Leetcode-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.

    For example:
    A = [2,3,1,1,4], return true.

    A = [3,2,1,0,4], return false.

    Have you met this question in a real interview?
     
    Analysis:
    We record the max reachable length and update it at each A[i].
    1. If maxReach<i, then cannot reach i return false;
    2. If maxReach<i+A[i], then we update the maxReach to i+A[i].
    3. Once maxReach>=A.length-1, we can reach the end, return true.
     
    Solution:
     1 public class Solution {
     2     public boolean canJump(int[] A) {
     3         if (A.length==0 || A.length==1) return true;
     4         int len = A.length;
     5 
     6         int maxReach = A[0];
     7         for (int i=1;i<len;i++)
     8             if (maxReach<i)
     9                 return false;
    10             else {
    11                 if (maxReach<i+A[i]) maxReach = i+A[i];
    12                 if (maxReach>=len-1) return true;
    13             }
    14        
    15         return false;       
    16     }
    17 }
  • 相关阅读:
    canvas背景粒子动态变化动画
    点击屏幕弹出心形效果
    前端图片的性能优化
    vue的computed和method的区别
    es6的...
    命名路由和命名视图
    编程式路由
    [思维]蚂蚁感冒
    [模板]前缀树 / 字典树及应用
    [模板]三分搜索
  • 原文地址:https://www.cnblogs.com/lishiblog/p/4102809.html
Copyright © 2011-2022 走看看