博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode - Jump Game
阅读量:7142 次
发布时间:2019-06-29

本文共 425 字,大约阅读时间需要 1 分钟。

一開始想DP一步步迭代更新,求出跳到最后一个的最小步数,可是时间复杂度O(nk),会超时。

再一想,发现该题仅仅须要返回是否能到达最后一个,不须要最小步数,所以迭代时候仅仅须要保留当前可以走到的最远距离tmpMax,时间复杂度降到O(n)。

class Solution {public:	const int MAXVALUE = 1 << 30;	bool canJump(int A[], int n) {		int tmpMax = 0;		if (n == 1)			return true;		for (int i = 0; i < n - 1; i++)		{			if (i > tmpMax)return false;			if (tmpMax < i + A[i])				tmpMax = i + A[i];			if (tmpMax >= n - 1)				return true;		}		return false;	}};

转载地址:http://wpgrl.baihongyu.com/

你可能感兴趣的文章
Source Insight 使用
查看>>
【转】Oracle Freelist和HWM原理及性能优化
查看>>
数据结构——树状数组
查看>>
reloc: Permission denied
查看>>
2015 ICPC 长春
查看>>
java编写本月日历
查看>>
在腾讯开放平台上,同一个QQ号码在不通的APP里返回的OpenID不一样且完全没有关联,这样的设计是处于什么考虑?...
查看>>
java学习(一)((java编程思想)待补充)—— ·对象
查看>>
Oracle GoldenGate实现数据库同步
查看>>
ural 1356. Something Easier(数论,哥德巴赫猜想)
查看>>
使用单元素枚举实现单例
查看>>
前端基本知识
查看>>
将excel中的数据转为json格式
查看>>
Poedu_项目2_Lesson005 课堂笔记
查看>>
字典操作
查看>>
实验2
查看>>
使用source创建一个新项目(将本地项目文件和github远程库链接)
查看>>
运行问题,如何修改APACHE的监听端口和密码
查看>>
Solaris服务管理
查看>>
Linux process state codes
查看>>