有序序列判断 题解

有序序列判断

http://www.nowcoder.com/questionTerminal/22e87f8a8d764a6582710f38d1b40c6e

其实只需要把两种情况列出来再比对就可以了

#include<bits/stdc++.h>
using namespace std;
int n;
int a[55];
int b[55];
int c[55];
bool prepare(int x,int y){//重载sort
    return x > y;
}
int main(){
    scanf("%d",&n);
    for(int i = 1;i <= n;i ++){
        scanf("%d",&a[i]);
        b[i] = a[i];
        c[i] = a[i];
    }//读入、处理

    sort(b+1,b+n+1);
    sort(c+1,c+n+1,prepare);//排序

    bool t1 = true;
    for(int i = 1;i <= n;i ++)
        if(b[i] != a[i]){
            t1 = false;
            break;
        }
    if(t1){
        printf("sorted\n");
        return 0;
    }//判断第一种、输出

    bool t2 = true;
    for(int i = 1;i <= n;i ++)
        if(c[i] != a[i]){
            t2 = false;
            break;
        }
    if(t2){
        printf("sorted\n");
        return 0;
    }//判断第二种、输出

    printf("unsorted\n");//两次都不输出,则无序
}
全部评论

相关推荐

10-24 13:36
门头沟学院 Java
Zzzzoooo:更新:今天下午有hr联系我去不去客户端,拒了
点赞 评论 收藏
分享
希望各位大哥分享一下自己的看法,对于机器人行业确实不太了解
绝顶但不聪明:如果是机器人相关岗位,优先优必选(专门***器人的),其他岗位选小米
投递小米集团等公司10个岗位 > 牛客解忧铺 牛客在线求职答疑中心
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务