java - 如何在一组数组中找到元素最多的数组

标签 java arrays element

我试图找出如何在一组数组中找到元素最多的数组。

我对一种快速、简单的检索方法感兴趣。我自己尝试过,但我是初学者,需要帮助。谢谢!

最佳答案

你可以在常数时间内求出数组的长度。因此循环遍历每个数组并检查它的长度。取这些长度中的最大值。这将是 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/

相关文章:

Java - 优先级队列显示 NullPointerException

php - 如果 PHP 中存在数组,则跳过添加到数组

javascript - jQuery el.each() 返回 HTMLAnchorElement 而不是元素实例

java - Java Swing 中元素的用途及其与 StyledDocument 和段落的关系

javascript - 如何使用 JS 或 jQuery 选择每个元素?

java - 可以在后端运行 spring boot 应用程序吗?

java - 可序列化对象中的所有类引用都应该实现可序列化吗?

java - 膨胀 Facebook 登录按钮时出错。

PHP 数组复制语义 : what it does when members are references, 及其记录在哪里?

java - 为什么 String[] 给出不同的长度并分割给定的字符串?