LeetCode 45. Jump Game II(跳格子)
2016-05-21 04:41
435 查看
原题网址:https://leetcode.com/problems/jump-game-ii/
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.
Your goal is to reach the last index in the minimum number of jumps.
For example:
Given array A =
The minimum number of jumps to reach the last index is
from index 0 to 1, then
Note:
You can assume that you can always reach the last index.
方法一:动态规划,用jumps数组记录最小步数。
方法二:动态规划,节省空间!
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.
Your goal is to reach the last index in the minimum number of jumps.
For example:
Given array A =
[2,3,1,1,4]
The minimum number of jumps to reach the last index is
2. (Jump
1step
from index 0 to 1, then
3steps to the last index.)
Note:
You can assume that you can always reach the last index.
方法一:动态规划,用jumps数组记录最小步数。
public class Solution { public int jump(int[] nums) { int[] jumps = new int[nums.length]; int far = 0; for(int i=0; i<nums.length && far<nums.length-1; i++) { for(int j=Math.min(i+nums[i], nums.length-1); j>far; j--) jumps[j] = jumps[i] + 1; far = Math.max(far, Math.min(i+nums[i], nums.length-1)); } return jumps[nums.length-1]; } }
方法二:动态规划,节省空间!
public class Solution { public int jump(int[] nums) { if (nums == null || nums.length <= 1) return 0; int from = 0, to = 1; for(int step = 1; ; step ++) { int nextTo = to; for(int i=from; i<to; i++) { nextTo = Math.max(nextTo, i + nums[i] + 1); if (nextTo >= nums.length) return step; } from = to; to = nextTo; } } }
相关文章推荐
- 山寨Besiege(四)操控轴
- BigBlueButton简介
- Moodle简介
- Bigbluebutton服务执行过程及相关配置文件
- LeetCode 44. Wildcard Matching(模糊匹配)
- 大数据和Android
- Mvp架构的使用
- 【三分法/数学公式】B君的圆锥【51nod】【BSG白山极客挑战赛】
- Bigbluebutton中文乱码问题
- Bigbluebutton安装过程
- [置顶] Android自定义View(二、深入解析自定义属性)
- Android自定义View(二、深入解析自定义属性)
- 蓝桥杯国赛前一周深夜思索
- 辛星浅析yaml
- 使用GSON解析一个复杂的json
- strtok 和 sscanf 结合输入
- 统计学 入门基础概念篇 - Descriptive Statistics: Quantitative Measures(个人笔记)
- Python之路,Day2
- Win10 中git的配置及使用
- 关于爆栈问题——手动加栈