gpt4 book ai didi

java - 在 O(logn) 运行时间内遍历数组?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:25:39 24 4
gpt4 key购买 nike

是否可以通过一个 boolean 数组在 O(logn) 运行时间内找到一个假值?数组的索引从 0 到 n-1。

如果是,我们将如何在 Java 中实现?伪代码就可以了。

最佳答案

一般来说,答案是否定的:除非您了解数组项的顺序,否则您不能在 O(N) 内遍历数组来搜索单个值.

例如,如果数组已排序,您可以在 O(log N) 中找到正确的位置。

对于 boolean 数组进行排序意味着所有 false 都在开头,如果有的话,所有 true 都在开头,在最后。如果是这种情况,可以使用二分查找找到对数时间的“分界点”。

关于java - 在 O(logn) 运行时间内遍历数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26224059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com