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

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

Given an array of non-negative integers, you are initially positioned at the first index of the array.

Each element in the array represents your maximum jump length at that position.

Determine if you are able to reach the last index.

For example:

A = [2,3,1,1,4], return true.

A = [3,2,1,0,4], return false.

先想到了动态规划,不过可惜大数据没有过,是一个从25000到0的递减一的数组,想试试贪心。

动态规划:

class Solution {public:    bool canJump(int A[], int n) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        bool B[n];        B[n-1] = true;        for(int i = n-2;i>=0;i--)        {            int x = A[i];            B[i] = false;            if(i+x>n-1)                B[i] = true;            else            while(x!=0&&!B[i])            {                if(B[i+x]==true)                B[i]=true;                x--;            }        }        return B[0];    }};

贪心:

class Solution {private: map
record; public: bool canJump(int A[], int n) { // Start typing your C/C++ solution below // DO NOT write int main() function record.clear(); for(int i = 0;i
=n-1) { record[i] = true; return true; } else if(A[i]==0) { record[i] = false; return false; } else { map
::iterator iter= record.find(i); if(iter!=record.end()) return record[i]; else { return Jump(A,n,A[i]+i); } } }};

 

转载于:https://www.cnblogs.com/727713-chuan/p/3333009.html

你可能感兴趣的文章
ADB server didn't ACK
查看>>
Android应用性能优化之优化列表头像过度绘制[一]
查看>>
GC参数
查看>>
Windows 2000的电源管理
查看>>
edgesForExtendedLayout ios7新特性
查看>>
我的友情链接
查看>>
bash shell简介及变量
查看>>
cakephp2.0 Utility class 简介
查看>>
HTML5移动Web开发指南
查看>>
单例类
查看>>
阿里云 linux 挂载数据盘
查看>>
我的友情链接
查看>>
H3C telnet 配置
查看>>
IE下监听滚轮
查看>>
崛起于Springboot2.X之redis集群搭建(17)
查看>>
浅说责任链,装饰者
查看>>
团部培训笔记-设计模式-《2013-11-27 代理模式》
查看>>
PHP高手之路
查看>>
PHP 图片上传类 缩略图
查看>>
使用Leaflet创建地图拓扑图
查看>>