不能使用排序,然后取第二大数,原因有两个,第一个不是最快的效率,第二个是因为题目只是要求找出第二大的数,并没有要求破坏数据。一般情况下尽量不要破坏原始数据。
public class SecondMaxNumber {
public static void main(String[] args) {
int[] nums = {2, 10, 6, 68, 13, 26, 98, 5};
int firstMax = nums[0];
int secondMax = nums[0];
for (int i = 1; i < nums.length; i++) {
int num = nums[i];
if (num < secondMax) {
continue;
}
if (num > firstMax) {
secondMax = firstMax;
firstMax = num;
continue;
}
secondMax = num;
}
System.out.println(secondMax);
}
}