private static int getMax2(int[] arr) {
int max = arr[0];
int max2 = arr[0];
for (int i = 0; i < arr.length; i++) {
if (max <= arr[i]) {
max2 = max;
max = arr[i];
} else if (max2 <= max && arr[i] >= max2) {
max2 = arr[i];
}
}
return max2;
}
定义 两个变量,一个max记录最大值,一个max2记录次大值。注意,当max<=arr[i]满足条件是,要重新更新max2。否则取不到次大值。