我试图找出如何在一组数组中找到元素最多的数组。
我对一种快速、简单的检索方法感兴趣。我自己尝试过,但我是初学者,需要帮助。谢谢!
最佳答案
你可以在常数时间内求出数组的长度。因此循环遍历每个数组并检查它的长度。取这些长度中的最大值。这将是 O(n),其中 n 是数组的数量。假设数组组存储在一个数组中(但此实现可以对任何 Java 集合进行一些调整,因为 foreach 循环是通用的):
// (skipping method signature for brevity)
int maxLength = 0;
for (Object[] objArray : arrayOfArrays) {
maxLength = Math.max(objArray.length, maxLength);
}
return maxLength
如果这个结果是您程序中的优先级,您还可以按数组的大小顺序存储数组(或者更好:存储一个引用最长数组及其长度的对象。如果您增加另一个数组的长度数组,并且该数组比当前最长数组引用长,则更新该引用。)
关于java - 如何在一组数组中找到元素最多的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28933552/