![]() |
1
3
如前所述,我将添加我自己的答案,其中包含与前面两个答案相同的想法。
假设问题是找到
下面提供了一个可运行且经过测试的代码。
同样,这个想法可以推广到跳过二、三。。。
|
![]() |
2
1
|
![]() |
3
0
如果数组包含数字,如果不检查元素是否相等,但检查搜索的元素是否大于当前索引中的元素,则可以跳过每一秒的元素。
在你检查的每个循环中
此时,您知道如果您的值存在于数组中,则它位于数组[2]和数组[4]之间,因为我们知道
如果返回true,则数组包含该值,否则不包含该值
这就是实现。在下面链接的JSBin中,您可以看到这两个函数的比较。我添加了一个日志来计算每个循环运行的频率。在给定的示例中,您的函数需要运行8次,因为它将搜索值与值进行比较
|
![]() |
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 5 月前 |
![]() |
Alisa Petrova · 在有向图中更改一对顶点以创建循环 5 月前 |
![]() |
b39b332d · 使用C++标准库实现高效间隔存储 9 月前 |
![]() |
Paul C · 在维基百科上,将二叉搜索树转换为排序链表的算法是否存在错误? 10 月前 |
![]() |
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 10 月前 |
![]() |
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 10 月前 |