题解 | 特殊排序

特殊排序

https://www.nowcoder.com/practice/57f0f528bff149be9580af66f6292430

#include <iostream>
#include<algorithm>
using namespace std;

int main() {
    int N;
    int arr[1001];
    while (cin >> N) { // 注意 while 处理多个 case
   int count=N;//计数 有count个数据
        for(int i=0;i<N;i++)//输入数据
        {
            cin>>arr[i];
        }
        sort(arr,arr+N);//排序
        cout<<arr[N-1]<<endl;//直接输出最大的
        count--;//总数据量-1
        if(count==0)//如果没数据了,直接输出-1
        {
        cout<<"-1"<<endl;}
       else //还有数据,就输出前N-1位,因为N位是有序的,N-1位也是有序的,无需再次排序
       {
        for(int i=0;i<count-1;i++)//先输出前N-2位
        {
         cout<<arr[i]<<" ";
        }
        cout<<arr[count-1]<<endl;//最后单独输出最后一位,加个endl
       }
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

不愿透露姓名的神秘牛友
03-20 12:46
瘦嘟嘟右卫门:百度文库网盘的暑期也没约面吗
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务