1.1我的题解
动态规划
第一次扫描,用dp[i] = i + nums[i]记录一下每一个格子最远能够跳到哪里。
然后再扫描一次
dp[i] = nums[dp[i]] + dp[i]
然后多次重复上面的操作,每一次重复操作都不管最后一个格子,
这种方法非常不好
1)预设了每个nums[i]都能够达到,没有做判断
2)多次遍历时间复杂度高,最多要n-1次计算dp,然后再来一次扫描来判断条件

1.2他人的题解——贪心算法
核心:只要第k个能够到达,那么k左边的每一个都能够到达
所以循环继续,如果第i个无法到达,以后都无法到达。
不断的通过能够到达的地方,计算出最远能够达到的地方。

class Solution {public:bool canJump(vector<int>& nums) {int k = 0;for(int i = 0;i < nums.size();i++){if(i > k) return false;k = max(k,i + nums[i]);}return true;}
};

优化的方法
if(k >= nums.size()-1 ) break;
用这个提前跳出循环

2021-05-16Leetcode 55.跳跃游戏相关推荐

  1. LeetCode 55. 跳跃游戏 中等难度

    55. 跳跃游戏 题目: 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1:输入: [2,3,1,1, ...

  2. Java实现 LeetCode 55 跳跃游戏

    55. 跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] ...

  3. Leecode 55跳跃游戏

    Leecode 55跳跃游戏 1.主要思路:从数组元素中是否含有零和零的位置思考 结果一定为true的情况: 如果前n-1个均大于等于1,则一定能够到达最后一个位置: 如果只有一个数(第一个数即最后一 ...

  4. LeetCode 55. 跳跃游戏

    ​​​​​​55. 跳跃游戏 题目描述: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 代码 ...

  5. LeetCode55跳跃游戏//力扣55跳跃游戏(贪心)

    LeetCode55跳跃游戏//力扣55跳跃游戏(贪心) 来源:力扣(LeetCode) 链接:题目跳转 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该 ...

  6. Leetcode-D21-动态规划(二刷)-55. 跳跃游戏45. 跳跃游戏 II

    我导好好啊!!!刚找完他!充满动力,给个大标题! 55. 跳跃游戏 1.感觉不像是一道很明显的动态规划问题. 2.看下答案和自己的思路是否一致.和我的想法一下,敲代码叭! 3.通过了,但这次好慢呀 c ...

  7. LeetCode—55.跳跃游戏(Jump Game)——分析及代码(C++)

    LeetCode-55.跳跃游戏[Jump Game]--分析及代码[C++] 一.题目 二.分析及代码 1. 贪心 (1)思路 (2)代码(简洁) (3)代码(高效) (4)结果 三.其他 一.题目 ...

  8. 高频leetcode动态规划部分:55. 跳跃游戏

    55. 跳跃游戏 难度中等1615 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 示例 1: ...

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

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

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

    LeetCode 122.买卖股票的最佳时机II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格.设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票 ...

最新文章

  1. dubbo管控台安装
  2. python替换缺失值_详解Pandas 处理缺失值指令大全
  3. javascript中的闭包closure详解
  4. TRUNCATE TABLE和PURGE_TABLE的区别
  5. java上课签到如何写_java签到程序怎么设置?学生考勤程序怎么写?
  6. 【学习总结】GirlsInAI ML-diary day-7-数据类型转换
  7. SQL:postgresql点geom转换为经纬度、POINT
  8. arm-linux-gcc stdio.h,arm-linux-gcc stdio.h no such file or directory错误
  9. CSS图片文字排版01
  10. php seekdir,readdir()
  11. Ubuntu-默认浏览器Firefox不能播放B站视频的修复过程
  12. DAP数据加工流程梳理
  13. luogu P4643 [国家集训队]阿狸和桃子的游戏
  14. js 编写一个程序实现统计一串字符串中的英文小写字母个数!
  15. 畅联“5机”,华为云WeLink勇当数字化联接器
  16. How to install VMware workstation15pro on Manjaro
  17. 看门狗WATCHDOG 的复位
  18. 商城后台管理系统(EasyUI、jQuery、js、Ajax、Servlet、jsp、mysql、EL,导出订单等)
  19. hbase数据库的一些基本操作(持续更新中)
  20. 18118 勇者斗恶龙

热门文章

  1. 阿里云直播、直播录制和点播
  2. HLW8110在智能照明产品上的应用
  3. python软件是做啥的_Python软件是干嘛的
  4. [unity learning] RPG Leaning(三)
  5. 生在北极圈内的“瑞典之声”--Sofia Jannok
  6. 基于协同过滤算法和深度学习的音乐推荐
  7. [附源码]Python计算机毕业设计Django-大学生健康档案管理
  8. python错误tensorflow.python.framework.errors_impl.InvalidArgumentError Assign requires shapes of both
  9. Linux C 进程间的管道通信
  10. Cocos2d-JS实现的贪吃蛇