C++跳跃游戏(青蛙跳)
116. 跳跃游戏
中文English
给出一个非负整数数组,你最初定位在数组的第一个位置。 数组中的每个元素代表你在那个位置可以跳跃的最大长度。 判断你是否能到达数组的最后一个位置。样例
样例 1输入 : [2,3,1,1,4]
输出 : true
样例 2输入 : [3,2,1,0,4]
输出 : false
注意事项
这个问题有两个方法,一个是贪心和 动态规划。贪心方法时间复杂度为O(N)。动态规划方法的时间复杂度为为O(n^2)。我们手动设置小型数据集,使大家可以通过测试的两种方式。
这仅仅是为了让大家学会如何使用动态规划的方式解决此问题。
如果您用动态规划的方式完成它,你可以尝试贪心法,以使其再次通过一次。
class Solution {public:/*** @param A: A list of integers* @return: A boolean*/bool canJump(vector<int> &A) {// write your code hereint n = A.size();bool *f = new bool[n];f[0] = true; //因为最初在第一个位置,那么肯定就是能跳到。for(int i = 1; i < n; i++){//我们就假设当前的下一个位置是跳不到的f[i] = false;//枚举要跳到的位置之前的一个情况for(int j = 0; j < i; j++){//如果出现前一个位置能跳到并且//前一个位置加上ta的最长跳跃度是大于i的(i是要跳到的那个位置)//那么i这个位置就是可以跳到的if(f[j] && j + A[j] >= i){f[i] = true;break;//break的原因是,因为我们只要求能够跳到当前i的位置//所以只要出现一种能跳到的情况就可以了}}}return f[n - 1];}
};
C++跳跃游戏(青蛙跳)相关推荐
- 自制青蛙跳台阶小游戏~
青蛙跳台阶小游戏 1.概念(concept)文档 楔子(Setting):千百年来,人们在贬低别人时,常用井底之蛙来描述那个人,但这却让青蛙不开心了,于是青蛙决定跳出井底,为自己讨一个公道. 玩法(G ...
- c语言青蛙游戏,c语言:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法?...
一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法? 解:把n级台阶时的跳法记为f(n),当n>2时,第一次跳的时候有两种不同的选择:一是第一次只跳1级,此 ...
- 【LeetCode】跳跃游戏Ⅰ~Ⅵ(我真的跳晕了@_@)
[LeetCode]跳跃游戏Ⅰ~Ⅵ
- 跳跃游戏 (动态规划剪枝/前缀和/滑动窗口/BFS剪枝)
一.跳跃游戏简单介绍 1. 跳跃游戏简单介绍 跳跃游戏是一种典型的算法题目,经常是给定一数组arr,从数组的某一位置i出发,根据一定的跳跃规则,比如从i位置能跳arr[i]步,或者小于arr[i]步, ...
- 跳跃游戏 I - VII
跳跃游戏 [55. 跳跃游戏](https://leetcode.cn/problems/jump-game/) [45. 跳跃游戏 II](https://leetcode.cn/problems/ ...
- leetcode-45 跳跃游戏II
给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后一个位置. 示例: 输入: [2,3,1,1,4] 输 ...
- LeetCode-笔记-45.跳跃游戏II-贪心算法
LeetCode-笔记-45.跳跃游戏II-贪心算法 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 你的目标是使用最少的跳跃次数到达数组的最后 ...
- 《LeetCode力扣练习》第55题 跳跃游戏 Java
<LeetCode力扣练习>第55题 跳跃游戏 Java 一.资源 题目: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大 ...
- 微信小游戏「跳一跳」技术手段高分秘籍实现
元旦赠书活动还在继续中,欢迎点击下方链接参与: 赠书一:<函数响应式领域建模> 赠书二:<Java函数式编程> 赠书三:<高可用架构> 最近这两天,从前天微信最新版 ...
最新文章
- python基础===Number
- python 字符串长度变化_sizeof(string)不等于字符串长度
- 浅谈ARP病毒的清除与预防
- 企业级 SpringBoot 教程 (十)用spring Restdocs创建API文档
- linux 目标文件格式,Linux工具 - NM目标文件格式分析
- CF1399C Boats Competition
- Lights off(关灯游戏)终极算法
- 【解决方案 十八】连接已重置怎么办
- es java api 获取总数_java Es Api --解决大量数据查询
- vue模板中写html,vue中template的三种写法示例
- 牛顿法的收敛速度为何比梯度下降法快?
- flink实战--核心概念解析和应用
- 用python检测微信好友是否删除自己
- ECharts 源码解读 二
- MetaQ 简单使用(数据同步框架)
- ipad 计算机连接网络设置方法,iPad Air怎么设置上网 苹果平板设置上网步骤【图文】...
- 微博数据爬虫——获取特定ID的热门转发用户列表(五)
- 2018.07.19【2018提高组】模拟C组
- linux基础测试题
- MVVM和MVC模型