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 = [2,3,1,1,4]

The minimum number of jumps to reach the last index is 2. (Jump 1 step from index 0 to 1, then 3 steps to the last index.)

测试代码:

class Solution {bool find_prior(vector<int> nums,vector<int> &jump,int pos){if(nums[pos]+pos>=nums.size()-1){jump[nums.size()-1] = jump[pos] + 1;return true;}for(int i=1;i<=nums[pos];i++){jump[pos+i] = min(jump[pos+i],jump[pos]+1);}return false;}
public:int jump(vector<int>& nums) {vector<int> jump(nums.size(),nums.size());jump[0] = 0;for(int j=0;j<nums.size()-1;j++){if(j>=1&&nums[j]<=nums[j-1]-1)continue;if(find_prior(nums,jump,j))break;}return jump[nums.size()-1];}
};

性能:

参考答案:

class Solution {
public:int jump(vector<int>& nums) {int n = nums.size();int reach = 0;int last_reach = 0;int step = 0;for(int i=0; i <= reach && i < n; ++i){if(i > last_reach){++step;last_reach = reach;}reach = max(nums[i] + i, reach);}if( reach < n-1)return -1;return step;}
};

性能:

45.jump游戏第二弹相关推荐

  1. 青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 3

    继上一次介绍了<神奇的六边形>的完整游戏开发流程后(可点击这里查看),这次将为大家介绍另外一款魔性游戏<跳跃的方块>的完整开发流程. (点击图片可进入游戏体验) 因内容太多,为 ...

  2. 青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 7(服务器连接数据处理)...

    继上一次介绍了<神奇的六边形>的完整游戏开发流程后(可点击这里查看),这次将为大家介绍另外一款魔性游戏<跳跃的方块>的完整开发流程. (点击图片可进入游戏体验) 因内容太多,为 ...

  3. C语言小游戏第二弹~1-100猜数字(无聊时候摸鱼必备)

    hello uu们,我们本期的小游戏是在1-100里面猜数字,无聊摸鱼必备小游戏哦~~ 闲话少谈,整活走起 首先我们可以简单的把这个程序主题分成两大块 1.游戏界面 2.猜数字过程主体 下面开始分步详 ...

  4. _28LeetCode代码随想录算法训练营第二十八天-贪心算法 | 122.买卖股票的最佳时机II 、55.跳跃游戏、45.跳跃游戏II

    _28LeetCode代码随想录算法训练营第二十八天-贪心算法 | 122.买卖股票的最佳时机II .55.跳跃游戏.45.跳跃游戏II 题目列表 122.买卖股票的最佳时机II 55.跳跃游戏 45 ...

  5. 55/45 Jump Game 跳跃游戏

    55 Jump Game 思路:贪心算法,每次记录可以跳到的最远距离. class Solution { public:bool canJump(vector<int>& nums ...

  6. LeetCode-笔记-45.跳跃游戏II-贪心算法

    LeetCode-笔记-45.跳跃游戏II-贪心算法 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后 ...

  7. 李飞飞AI100报告第二弹,提出14大AI机遇与挑战,82页pdf

    来源:Stanford 编辑:好困 David 「AI100」报告第二弹! 本次报告评估了2016年至2021年间人工智能的发展,涵盖14大问题,探讨了人工智能发展的关键领域. 主题是「人工智能在日常 ...

  8. u-boot移植第二弹——移植2012.10u-boot到RealARM210 cortex-A8开发板

    本次移植的目的: 1.u-boot能够跑起来 2.能够进入控制台打印出如下信息 本次移植是基于官方的u-boot版本是u-boot-2012.10,温馨提示,如果是新手可以完全按照这个步骤走就行.好, ...

  9. 45. 跳跃游戏 II golang 动态规划

    45. 跳跃游戏 II 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [ ...

最新文章

  1. js 使用a标签 下载资源
  2. python多线程网络编程_python网络编程之线程
  3. 计算机专业和文秘专业哪个好,文秘类包括哪些专业
  4. 配置nginx-rtmp流媒体服务器(宝塔面板配置教程)
  5. 「Luogu5395」【模板】第二类斯特林数·行
  6. 虚拟化+云服务器,虚拟化+云服务器
  7. java swing 列表框_Java开发笔记(一百三十一)Swing的列表框
  8. 回顾 2017, Java 有哪些值得关注的重大变化?
  9. python3常用内置函数总结
  10. 在线html链接提取工具
  11. [转载] SimpleHTTPServer解释:如何使用Python发送文件
  12. 责任分配矩阵和raci的区别_有限责任公司实现盈利,当年就一定可以分红吗?...
  13. ffmpeg 使用小记
  14. 训练模型以识别文本中的情绪 3 NLP 零到英雄 Training a model to recognize sentiment in text
  15. 基于Android企业员工绩效考评APP的设计与实现
  16. 超详细实现淘宝静态页面(附全部代码)
  17. 官方教程之短视频app源码接入openinstall实现免填邀请码功能
  18. python自学多久能精通-python多久可以精通
  19. 巧用位运算实现大小写转换
  20. 如何确保数据完整性?

热门文章

  1. JDK源码中,都有哪些设计模式
  2. 基于python的量化投资基础(Chapter.0)——概述
  3. 共享式以太网和交换式以太网的区别
  4. 多种进制转换方法,原码、反码、补码计算与转换,位运算符的使用方法,函数简介
  5. 腾讯起诉“腾迅”获赔30万
  6. 母牛问题c语言程序,C语言-母牛和兔子的问题
  7. 基于飞桨复现图像分类模型TNT,实现肺炎CT分类
  8. matlab excel导入矩阵,如何将excel中数据导入到matlab中!Excel导入matlab生成矩阵
  9. [蓝桥杯][2019年第十届真题]外卖店优先级、修改数组、糖果、特别数的和、等差数列
  10. 计算机在水产养殖学中的应用,计算机视觉技术在水产养殖中的应用