题解 | #图片整理#

图片整理

https://www.nowcoder.com/practice/2de4127fda5e46858aa85d254af43941

#include <stdio.h>
#include <string.h>

int main() {
    char arr[1001];
    scanf("%s",arr);
    int len = strlen(arr);
    for(int i=0;i<len;i++){
        int flag=0;
        for(int j=0;j<len-i;j++){
            if(arr[j]<arr[j+1]){
                char tmp = arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=tmp;
                flag=1;
            }
        }
        if(flag==0) break;
        flag=0;
    }
    for(int i=len-1;i>=0;i--)
        printf("%c",arr[i]);
    printf("\n");
    return 0;
}

本题的提升之处在于优化排序以提高效率,这里采用的是冒泡排序,总体时间复杂度为O(n^2),相对而言性能并不是很优秀。

全部评论

相关推荐

05-19 15:21
已编辑
门头沟学院 Java
白火同学:你才沟通了200,说实话,北上广深杭这里面你连一座城市的互联网公司都没投满呢,更别说还有各种准一线二线城市了。等你沟通突破了三位数,还没结果再考虑转行的事吧。
点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
07-07 14:30
复旦大学 Java
遇到这种人我也不知道说啥了
正义执行官:人家能回你就不错了,自己不主动去问,等着天上掉馅饼,想啥呢哥们
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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