public class Main {
public static void main(String[] args) {
Main main = new Main();
int[] data =new int[]{12,56,-45,89,58};
System.out.println(main.findSecMax(data));
}
public int findSecMax(int[] data) {
int max = data[0];
int secMax = Integer.MIN_VALUE;
for (int i= 0 ;i<data.length;i++){
if(data[i] > max){//如果该元素比最大的大
secMax = max;//当前最大的赋值给secMax
max = data[i];//该元素赋值给max
}else{
if(data[i]>secMax){//如果该元素比最大的小,再与当前第二大的比较,如果比当前第二大的大,则赋值给secMax
secMax = data[i];
}
}
}
return secMax;
}//findSecMax
}
//输出58,亲测正确
T(n)= O(n)