题解 | #图片整理#

图片整理

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),相对而言性能并不是很优秀。

全部评论

相关推荐

12-24 14:26
东北大学 Java
一只乌鸦:重邮+东北,好经典的学校
最后再改一次简历
点赞 评论 收藏
分享
12-15 14:25
云南大学 Java
lei22:入职可能会看学信网,最好别伪装,这个简历找实习肯定是够的,肯定会有收 28 届实习生的公司的,多投就行
点赞 评论 收藏
分享
10-31 20:07
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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