gpt4 book ai didi

java - 我有一个有效的算法来找到数百万数组中的最大整数,需要关于这两个的建议

转载 作者:行者123 更新时间:2023-11-29 08:34:32 26 4
gpt4 key购买 nike

哪个更适合用于数百万整数(年龄)的数组

public static int findMax(int[] x) {
int max = 0;
int curr = 0;
for (int a : x) {
curr = Math.max(curr, a);
max = Math.max(max, curr);
}
return max;
}
public static int findMax(int[] x){
List<Integer> list = new ArrayList<>();
for (int y : x){
list.add(y);
}
return Collections.max(list);
}

最佳答案

第一个肯定比第二个快,因为你真的不想无缘无故地创建一个数组列表只是为了找到数组的最大值!

此外,没有理由为当前值和最大值使用两个不同的变量,仅最大值就足够了,如下所示:

public static int findMax(int[] x) {
int max = Integer.MIN_VALUE;
for (int a : x) {
max = Math.max(max, a);
}
return max;
}

注意:我使用了最小整数,因为你的数组中的最大值可能是负数。此外,您可以只使用 if 条件而不是 Math.max(),但它会以任何一种方式工作。这也为您节省了额外的操作。每种情况下的运行时间都是 O(n)。

关于java - 我有一个有效的算法来找到数百万数组中的最大整数,需要关于这两个的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45312464/

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