首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化索引数组搜索大于数字

优化索引数组搜索大于数字
EN

Stack Overflow用户
提问于 2009-12-11 22:05:33
回答 3查看 742关注 0票数 1

我有一个排序的数字数组:

代码语言:javascript
复制
pts = [ 0, 4, 25, 51, 72, 100 ]

给定值T,我需要找到数组中大于T的第一个数字的索引。

代码语言:javascript
复制
if T = 2, then the correct index is 1 for value 4

哑解

我可以用线性搜索来做这件事,但是我想优化一下。

不工作溶液

二进制搜索算法的例子找到了一个精确数的索引。

有建议的技术来解决这种搜索问题吗?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-11 22:15:13

查找t的二进制搜索算法,以使list[t] <= Tlist[t+1] > T (或t+1大于列表的长度)

票数 2
EN

Stack Overflow用户

发布于 2009-12-11 22:15:22

二进制搜索算法通常会找到精确的匹配,但是算法很简单,您应该可以很容易地修改它,以找到大于给定数的第一个数。您是否正在寻找解决方案的特定语言?

票数 0
EN

Stack Overflow用户

发布于 2009-12-11 22:27:28

二进制搜索将适用于此。

通常,一个实现将返回一个负数来告诉您插入点的情况。例如,在Java中,只有-1-n,您就有了自己的位置。

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

https://stackoverflow.com/questions/1891165

复制
相关文章

相似问题

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