排序最小的时间复杂度为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")