博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode - Jump Game
阅读量:4647 次
发布时间:2019-06-09

本文共 1108 字,大约阅读时间需要 3 分钟。

题目:

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.

思路:这样想,只要是正数,就能一直往前走,唯一障碍就是0,只要能跳跃过0就行了。所以每当我们遇到0时,就看之前的最大步数能不能跳过它。

package dp;public class JumpGame {    public boolean canJump(int[] nums) {        int len = nums.length;        int max = 0;        for (int i = 0; i < len - 1; ++i) {            if (i + nums[i] > max)                max = i + nums[i];            if (nums[i] == 0 && i >= max) // 为0,之前的最大步数不能跳过它就返回false                return false;        }                return max >= len - 1;    }        public static void main(String[] args) {        // TODO Auto-generated method stub        int[] nums1 = {2,3,1,1,4};        int[] nums2 = {0,3,2};                JumpGame j = new JumpGame();        System.out.println(j.canJump(nums1));        System.out.println(j.canJump(nums2));    }}

 

转载于:https://www.cnblogs.com/null00/p/5013292.html

你可能感兴趣的文章
关于jedis2.4以上版本的连接池配置,及工具类
查看>>
记忆讲师石伟华微信公众号2017所有文章汇总(待更新)
查看>>
mechanize (1)
查看>>
FactoryBean
查看>>
Coolite动态加载CheckboxGroup,无法在后台中获取
查看>>
如何在我们项目中利用开源的图表(js chart)
查看>>
nfs服务器工作原理
查看>>
C3P0连接池工具类使用
查看>>
SVN常用命令备注
查看>>
孩子教育
查看>>
解决Cacti监控图像断断续续问题
查看>>
结构体的传参理解成员的存储方式
查看>>
python 进程与线程(理论部分)
查看>>
什么是API
查看>>
Java反射中method.isBridge() 桥接方法
查看>>
[shiro学习笔记]第二节 shiro与web融合实现一个简单的授权认证
查看>>
强名称程序集(strong name assembly)——为程序集赋予强名称
查看>>
1028. List Sorting (25)
查看>>
BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划
查看>>
ubuntu 重启命令,ubuntu 重启网卡方法
查看>>