如何在不删除最大元素并重新搜索的情况下找到上面的内容?有没有更有效的方法来做到这一点?这些元素是否重复并不重要。
最佳答案
for (e: all elements) {
if (e > largest) {
second = largest;
largest = e;
} else if (e > second) {
second = e;
}
}
您可以将 largest
和 second
初始化为适当的下限,或者初始化为列表中的前两项(检查哪个更大,不要忘记检查列表是否至少有两项)
关于c++ - 查找范围内的最大和第二大元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1412751/