首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组中最小跳数算法的正确性检验

数组中最小跳数算法的正确性检验
EN

Stack Overflow用户
提问于 2015-09-04 13:13:40
回答 1查看 110关注 0票数 0

我有一个算法是基于一个问题,在这个问题中,你需要找到到达array.This问题末尾的最小跳转数,对于极客来说,这是一个极客问到的问题,在我的例子中,他们没有线性时间算法,但是算法是线性时间,但是对于,我的算法会失败吗?.The链接。

链接:-http://www.geeksforgeeks.org/minimum-number-of-jumps-to-reach-end-of-a-given-array/

输入: arr[] = {1,3,5,8,9,2,6,7,6,8,9}

  • 从第一个元素开始,我们知道元素的最大范围是1,因此我们只能向前移动一步,所以从1->3开始。
  • 在第二步中,我们知道元素的范围是3,因此,从这一步算出这个范围的最大值,所以从3中我们可以选择5,8,9,这个范围内的最大值是9。
  • 所以首先移动到9,也就是1->3->9,然后从9移动到数组的末尾,因为我们知道九个步骤足够到达最后。
  • 角的情况是,如果在结束时检测到零,我们就什么也不做,因为我们已经到达了end.But,如果在起始处检测到零,或者在该范围中0是要向前移动的最大元素,则返回a -1,因为我们不能进一步移动,请告诉我这个算法中是否有错误。
EN

回答 1

Stack Overflow用户

发布于 2015-09-04 14:01:26

是的,这个算法不起作用。示例:

代码语言:javascript
复制
arr[] = {5,2,1,1,1,1,1}

你的算法会看到5,然后看到最大值2,然后转到11,1,1,1,1,1,1,1,1=6跳。

而最优结果是:5 -> 1(从末端第二次) -> 1=3跳

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32398993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档