排序最小的时间复杂度为O(nlogn);本题只需在一趟遍历中维护最大最小值即可,时间复杂度为O(n)
#include <climits>
#include <iostream>
using namespace std;
int main() {
int n;
while (cin >>n) { // 注意 while 处理多个 case
int maxNum=INT_MIN;
int minNum=INT_MAX;
while(n--){
int temp;
cin>>temp;
maxNum=max(maxNum,temp);
minNum=min(minNum,temp);
}
cout<<maxNum<<' '<<minNum<<endl;
}
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号