JumpGame,JumpGame2
JumpGame:给定一个非负整数数组,开始在第一个位置,每个位置上的数字代表最大可以跳跃的步数,判断能不能跳到最后一个位置。
例如:A=[2,3,1,1,4],在位置0处,可以跳一步到位置1,位置1跳3步到位置4.
public class JumpGame {
public static boolean canJump(int[] a)
{
int reach = 0;//代表最多能到达的位置
int i = 0; //代表每次走一步能到达的位置
for(; i < a.length && i <= reach; i ++)
{
reach = Math.max(reach, i + a[i]);
}
return i == a.length;
}
public static void main(String[] args) {
int[] a = {2,3,1,1,4};
System.out.println(canJump(a));
}
}
JumpGame2:给定一个非负整数数组,开始在第一个位置,每个位置上的数字代表最大可以跳跃的步数,求跳到最后位置需要最少的跳跃次数。
例如:A=[2,3,1,1,4],在位置0处,可以跳一步到位置1,位置1跳3步到位置4.最少次数是2。用一个数组记录到达每个位置的前一个位置。
public static int canJump2(int[] a)
{
int pre[] = new int[a.length];//记录到达i的前一位置
int reach = 0;
for(int i = 0; i < a.length; i ++)
{
if(i+a[i] > reach)
{
//reach+1 - i+a[i]的前一位置是i
for(int j = reach + 1; j <= i + a[i] && j < a.length; j ++)
{
pre[j] = i;
}
reach = i + a[i];
}
}
int count = 0;
int k = a.length -1;
while(k > 0)
{
k = pre[k];
count ++;
}
return count;
}
JumpGame,JumpGame2的更多相关文章
- leetcode — jump-game
/** * Source : https://oj.leetcode.com/problems/jump-game/ * * Created by lverpeng on 2017/7/17. * * ...
- LeetCode: JumpGame 1 and 2
Title : Given an array of non-negative integers, you are initially positioned at the first index of ...
- Leetcode::JumpGame
Description: Given an array of non-negative integers, you are initially positioned at the first inde ...
- [Leetcode 55]跳格子JumpGame
[题目] Given an array of non-negative integers, you are initially positioned at the first index of the ...
- jump-game i&&ii 能否跳出区间 贪心
I: Given an array of non-negative integers, you are initially positioned at the first index of the a ...
- [leetcode]55.JumpGame动态规划题目:跳数游戏
/** * Given an array of non-negative integers, you are initially positioned at the first index of th ...
- [LeetCode] Jump Game 跳跃游戏
Given an array of non-negative integers, you are initially positioned at the first index of the arra ...
- leetcode算法分类
利用堆栈:http://oj.leetcode.com/problems/evaluate-reverse-polish-notation/http://oj.leetcode.com/problem ...
- BUG-FREE-For Dream
一直直到bug-free.不能错任何一点. 思路不清晰:刷两天. 做错了,刷一天. 直到bug-free.高亮,标红. 185,OA(YAMAXUN)--- (1) findFirstDuplicat ...
随机推荐
- ORA-12505, TNS:listener does not currently know of SID given in connect desc
数据库名(数据库服务名)配置错误.
- Leetcode-Test Justification
Given an array of words and a length L, format the text such that each line has exactly L characters ...
- 【谷歌浏览器】在任意页面运行JS
1.使用谷歌浏览器的调试功能: 在任何页面上运行代码片段 · Chrome 开发者工具中文文档 注:比较简单,直接,不过只能本地执行,只能自己使用.且需自行保存JS文件: 2.使用油猴插件: Tamp ...
- yum -y install epel-release
EPEL - Fedora Project Wiki https://fedoraproject.org/wiki/EPEL
- PHP 神奇的sprintf函数
sprintf 1.定义 sprintf() 函数将字符串进行各种类型的格式化. 2.语法 sprintf(format,arg1,arg2,arg++) format:格式类型. arg1,arg2 ...
- Internet Explorer 1.0到9.0截图画廊
Internet Explorer 1.0 Windows 95 原先并没有IE,IE1.0是通过一个名叫Windows 95 Plus!Pack的扩展包来到用户的电脑中的,它的到来改变了Netsca ...
- django--博客系统--后台管理
1.后台管理功能主要实现了,文章的添加与修改,以及富文本的使用 前端页面 母版 <!DOCTYPE html> <html lang="en"> <h ...
- window安装redis数据库
1.下载安装包 1.百度网盘链接:https://pan.baidu.com/s/1MrAK5Suc1xpzkbp1WQbP0A 提取码:u9uq 2.GitHub:https://github.co ...
- 2016 安全行业全景图——By 安全牛
2014年有幸在北京办公室与安全牛的创办人刘朝阳见过一面,从那以后一直关注这安全牛(http://www.aqniu.com/)以及IT经理网(http://www.ctocio.com/).今年初看 ...
- redis实现cache系统原理(五)
1. 介绍 cache就是人们所说的缓存.我们这里所说的cache是web上的.对用户来说,衡量一个网站是否具有良好的体验,其中一个标准就是响应速度的快慢.可能网站刚上线,功能还较少,数据库的记录也不 ...