gpt4 book ai didi

java - 查找 int 数组是否包含数字的最快方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:49:25 26 4
gpt4 key购买 nike

这是一个奇怪的问题。我在 Java 中有一个整数数组,其中每个 int 代表一种颜色。它们要么是 0xFFFFFFFF 要么是 0x0。查找此数组是否包含任何等于 0xFFFFFFFF 的值的最快方法是什么?

这是我当前的代码:

int length = w * h;
for (int i = 0; i < length; i++) {
if (pixels[i] == 0xFFFFFFFF) {
return true;
}
}

我不知道是否有更快的方法来做到这一点。不过,我想你们这些 vert 可能会玩一两个把戏。

编辑:由于它只是来自 Bitmap.getPixels() 的一个哑像素数组,因此无法对它进行排序或转换为另一个存储结构。感谢大家的意见,在这种情况下,循环似乎是最好的方法。

最佳答案

不,除非整数数组已经排序,否则没有更快的方法,我怀疑这是一个颜色数组。

扫描未排序的数组需要线性时间“O(n)”。这就是您所做的,一旦找到匹配项就退出该方法,这也很好。

关于java - 查找 int 数组是否包含数字的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7152145/

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