【问题标题】:How to find the second largest integer in an ArrayList [duplicate]如何在ArrayList中找到第二大整数[重复]
【发布时间】:2023-03-22 21:12:01
【问题描述】:

我必须返回一个整数,它是 ArrayList 中第二大整数。该方法中的一个参数是arr,它是一个ArrayList。下面的代码不适用于某些情况。我的代码有问题吗?

int largest = arr.get(0);
int secondLarg;

if(arr.get(0) < arr.get(1)) {
    largest = arr.get(1);
    secondLarg = arr.get(0);
}
else {
    secondLarg = arr.get(1);
}

for(int i = 0; i < arr.size(); i++) {
    if(arr.get(i) >= largest) {
        largest = arr.get(i);
    }
    else if(arr.get(i) < largest && arr.get(i) >= secondLarg) {
        secondLarg = arr.get(i);
    }
}

return secondLarg;

【问题讨论】:

  • 什么是数组不起作用的例子?
  • 我使用的网站不允许我看到它用来检查我的代码的数组。
  • 如果您读取的下一个数组条目 > 最大会怎样?你会丢失什么信息?

标签: java


【解决方案1】:
if(arr.get(i) >= largest) {
    largest = arr.get(i);
}

如果新项目最大,则largest 需要指向新项目,secondLarg 需要指向之前的largest

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-22
    • 2014-02-20
    • 2021-06-18
    • 2020-05-27
    • 1970-01-01
    • 2016-01-05
    • 2019-08-05
    • 2021-06-01
    相关资源
    最近更新 更多