2021-05-16Leetcode 55.跳跃游戏
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.跳跃游戏相关推荐
- LeetCode 55. 跳跃游戏 中等难度
55. 跳跃游戏 题目: 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1:输入: [2,3,1,1, ...
- Java实现 LeetCode 55 跳跃游戏
55. 跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] ...
- Leecode 55跳跃游戏
Leecode 55跳跃游戏 1.主要思路:从数组元素中是否含有零和零的位置思考 结果一定为true的情况: 如果前n-1个均大于等于1,则一定能够到达最后一个位置: 如果只有一个数(第一个数即最后一 ...
- LeetCode 55. 跳跃游戏
55. 跳跃游戏 题目描述: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 代码 ...
- LeetCode55跳跃游戏//力扣55跳跃游戏(贪心)
LeetCode55跳跃游戏//力扣55跳跃游戏(贪心) 来源:力扣(LeetCode) 链接:题目跳转 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该 ...
- Leetcode-D21-动态规划(二刷)-55. 跳跃游戏45. 跳跃游戏 II
我导好好啊!!!刚找完他!充满动力,给个大标题! 55. 跳跃游戏 1.感觉不像是一道很明显的动态规划问题. 2.看下答案和自己的思路是否一致.和我的想法一下,敲代码叭! 3.通过了,但这次好慢呀 c ...
- LeetCode—55.跳跃游戏(Jump Game)——分析及代码(C++)
LeetCode-55.跳跃游戏[Jump Game]--分析及代码[C++] 一.题目 二.分析及代码 1. 贪心 (1)思路 (2)代码(简洁) (3)代码(高效) (4)结果 三.其他 一.题目 ...
- 高频leetcode动态规划部分:55. 跳跃游戏
55. 跳跃游戏 难度中等1615 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 示例 1: ...
- _28LeetCode代码随想录算法训练营第二十八天-贪心算法 | 122.买卖股票的最佳时机II 、55.跳跃游戏、45.跳跃游戏II
_28LeetCode代码随想录算法训练营第二十八天-贪心算法 | 122.买卖股票的最佳时机II .55.跳跃游戏.45.跳跃游戏II 题目列表 122.买卖股票的最佳时机II 55.跳跃游戏 45 ...
- 代码随想录算法训练营第三十二天_第八章_贪心算法 | 122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II
LeetCode 122.买卖股票的最佳时机II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格.设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票 ...
最新文章
- dubbo管控台安装
- python替换缺失值_详解Pandas 处理缺失值指令大全
- javascript中的闭包closure详解
- TRUNCATE TABLE和PURGE_TABLE的区别
- java上课签到如何写_java签到程序怎么设置?学生考勤程序怎么写?
- 【学习总结】GirlsInAI ML-diary day-7-数据类型转换
- SQL:postgresql点geom转换为经纬度、POINT
- arm-linux-gcc stdio.h,arm-linux-gcc stdio.h no such file or directory错误
- CSS图片文字排版01
- php seekdir,readdir()
- Ubuntu-默认浏览器Firefox不能播放B站视频的修复过程
- DAP数据加工流程梳理
- luogu P4643 [国家集训队]阿狸和桃子的游戏
- js 编写一个程序实现统计一串字符串中的英文小写字母个数!
- 畅联“5机”,华为云WeLink勇当数字化联接器
- How to install VMware workstation15pro on Manjaro
- 看门狗WATCHDOG 的复位
- 商城后台管理系统(EasyUI、jQuery、js、Ajax、Servlet、jsp、mysql、EL,导出订单等)
- hbase数据库的一些基本操作(持续更新中)
- 18118 勇者斗恶龙
热门文章
- 阿里云直播、直播录制和点播
- HLW8110在智能照明产品上的应用
- python软件是做啥的_Python软件是干嘛的
- [unity learning] RPG Leaning(三)
- 生在北极圈内的“瑞典之声”--Sofia Jannok
- 基于协同过滤算法和深度学习的音乐推荐
- [附源码]Python计算机毕业设计Django-大学生健康档案管理
- python错误tensorflow.python.framework.errors_impl.InvalidArgumentError Assign requires shapes of both
- Linux C 进程间的管道通信
- Cocos2d-JS实现的贪吃蛇