java - 在 n 个数字的数组/列表中查找 3 个最大的数字而不进行排序

标签 java arrays max

当我做作业时,当我必须在数字列表中找到最大的 3 个数字(未指定数据结构)时,我感到非常困惑。我对我必须做的事情感到非常震惊。有什么帮助吗?

最佳答案

您可以保留三个变量来存储三个最大值,并迭代数组:

您需要处理三种情况:

  • 当当前元素大于最大元素时。需要相应更新第二大和第三大。

  • 当当前元素大于第二大元素时。需要更新第三大。

  • 当当前元素大于第三大元素时。

我的code如果你仍然卡住

for(int i : array)
    if(i > largest)
      //Do smt
    else if(i > second)
      //Do smt
    else if(i > third)
      //Do smt

关于java - 在 n 个数字的数组/列表中查找 3 个最大的数字而不进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30520869/

相关文章:

python - 逐位形成字节并连接字节

javascript - div 覆盖数组中的每个 div

c# - 获取列表中的最大 KeyValuePair<KeyValuePair>

mysql - 列的最大值

java - jfree 图表中的极坐标图中刻度线可见

java - 找到模式时替换

c - C 编译器是否可以随意重写数组中的相邻值?

haskell - 为什么在 Haskell 中最大值 (8,1) = 1?

java - 为什么 0.2(以 10 为底)不能用二进制表示为 0.10(以 2 为底)

Java:防止 Socket DataInputStream 抛出 EOFException