LeetCode 55. 跳跃游戏 中等难度
55. 跳跃游戏
题目:
给定一个非负整数数组,你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个位置。
示例 1:输入: [2,3,1,1,4]
输出: true
解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。
示例 2:输入: [3,2,1,0,4]
输出: false
解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。
解题思路:
- 贪心算法,如果我跳的这一步能走得更远,那么我就走这一步 。
- 那么怎么才能知道哪一步走得更远呢?我们直接用一个新的数组来记录每一个位置下一次能够跳的最远的位置的下标。即=i+nums[i]
- 那么只要遍历新的数组,如果能够跳的最远的位置比此时此刻的下标大就行了,如果小,就直接退出。
- 最好判断跳的位置
代码:
class Solution {public:bool canJump(vector<int>& nums) {vector<int> index;for(int i=0;i<nums.size();i++){index.push_back(i+nums[i]);}int jump=0;int max=index[0];while(jump<index.size()&&jump<=max){if(max<index[jump]){max=index[jump];}jump++;}if(jump==index.size()) return true;return false;}
};
需要注意的地方:
1.jump<index.size()&&jump<=max
LeetCode 55. 跳跃游戏 中等难度相关推荐
- LeetCode—55.跳跃游戏(Jump Game)——分析及代码(C++)
LeetCode-55.跳跃游戏[Jump Game]--分析及代码[C++] 一.题目 二.分析及代码 1. 贪心 (1)思路 (2)代码(简洁) (3)代码(高效) (4)结果 三.其他 一.题目 ...
- LeetCode 55. 跳跃游戏(贪心)
1. 题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1:输入: [2,3,1,1,4] 输出: ...
- Java实现 LeetCode 55 跳跃游戏
55. 跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] ...
- LeetCode 55. 跳跃游戏
55. 跳跃游戏 题目描述: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个下标. 代码 ...
- LeetCode 55跳跃游戏56合并区间57插入区间
原创公众号:bigsai 希望和优秀的你做朋友,感觉不错还请一键三连. 回复进群即可加入和200+人一起打卡.上周打卡: LeetCode 47全排列Ⅱ&48旋转图像 LeetCode 49字 ...
- 贪心法——LeetCode 55 跳跃游戏
跳跃游戏 题目: 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] ...
- leetcode - 55. 跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4] 输出: true ...
- Leetcode 55.跳跃游戏 (每日一题 20210706)
给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 .数组中的每个元素代表你在该位置可以跳跃的最大长度.判断你是否能够到达最后一个下标.示例 1:输入:nums = [2,3,1,1,4] ...
- leetcode 55. 跳跃游戏 思考分析
题目 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例1: 输入: [2,3,1,1,4] 输出: tru ...
最新文章
- java.util.Properties类,保存时保留注释及格式不变
- 使用 GMap.NET 实现添加标注、移动标注功能。(WPF版)
- 共创Linux防火墙,Linux防火墙iptables简明教程
- 条款25 :尽可能延后变量定义式的出现时间
- java的list和数组谁高效_java 中ArrayList与LinkedList性能比较
- (转)问题: Oracle Database 10g 未在当前操作系统中经过认证
- 利用access创建数据字典_VBA数组与字典解决方案54讲:利用字典和数组提取数据并按行回填...
- php文字音频插件下载安装,Goodhertz音频插件下载
- Jlinko ob驱动
- JSX、JSX的介绍、JSX特点、JSX的语法、XML基本语法
- 伦斯勒理工学院计算机科学专业强吗,2020年伦斯勒理工学院排名TFE Times美国最佳计算机科学硕士专业排名第59...
- SQL(oracle)常用命令
- java中的12的意思_在外壳中,“ 2&1”是什么意思?
- Win11电脑外接显卡后蓝屏?Win11显卡坞一打开就蓝屏的解决方法
- 使用go实现Aes加解密
- Win10为什么电脑在有密码的情况下,睡眠后不用输密码打开?
- c语言中printf的转义字符,C语言Printf格式
- java option请求_Spring boot处理OPTIONS请求
- VirtualBox 开源桌面虚拟化软件
- appium+mitmdump+夜神模拟器抓取抖音app