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

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

问题叙述性说明:

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.

基本思路:

从每一个可达的节点产生新的可达节点。

依次类推。但用一个变量head记录当前可达最远的位置。对于i+A[i] < head 能够剪枝。

请见代码。

代码:

bool canJump(int A[], int n) {  //C++        vector
record(n,0); record[0] = 1; if(n == 1) return true; int head = 0; for(int i =0; i < n; i++) { if(record[i] == 1 && i+A[i] > head) { for(int j = head-i+1; j <= A[i]; j++) { if(i+j == n-1) return true; record[i+j] = 1; } head = i+A[i]; } } return false; }

版权声明:本文博客原创文章,博客,未经同意,不得转载。

你可能感兴趣的文章
html的字符实体
查看>>
Django 向数据表中添加字段方法
查看>>
在ReportViewer中使用超链接(HyperLink)
查看>>
Django REST framework+Vue 打造生鲜超市(二)
查看>>
http://cuiqingcai.com/993.html
查看>>
七 oracle 表查询二
查看>>
给ARM初学者的建议
查看>>
study topics
查看>>
io分析神器blktrace
查看>>
redis pipeset发布订阅
查看>>
生成器、迭代器
查看>>
Docker - 创建镜像(二)
查看>>
变量绑定
查看>>
bzoj 1901 线段树套平衡树+二分答案查询
查看>>
Javascript 控制 让输入框不能输入 数字
查看>>
统计分词
查看>>
蛇形矩阵构造
查看>>
信息安全系统设计基础第六周学习总结
查看>>
Belady现象
查看>>
poj3250(单调栈模板题)
查看>>