题解 | #多多的字符变换#

多多的字符变换

http://www.nowcoder.com/practice/78255f37c7dc4f749ceafc8c58206a43

多多的字符变换

#include <stdio.h>

int cmp(char *a, char *b){
    return (int)*a-(int)*b;
}

int main(){
    int len = 0,max=0,min=0;
    long long result = 0;
    scanf("%d\n",&len);
    char* str1 = (char*)malloc(len);
    char* str2 = (char*)malloc(len);
    scanf("%s\n%s\n",str1,str2);
    qsort(str1,len,sizeof(char),cmp);
    qsort(str2,len,sizeof(char),cmp);
    //printf("str1 = %s\nstr2 = %s\n",str1,str2);
    for(int i=0; i<len; i++){
        //偷懒的方法,想要更快应该用两个指针来比较
        if(str1[i] != str2[i]){
            max = str1[i]-'a';
            min = str2[i]-'a';
            //一定要注意绝对值的问题,不能到最后才累加相减
            //(不能确定相同的位置上字符的大小)
            result+=max>min?max-min:min-max;
        }
    }
    //printf("max=%d,min=%d\n",max,min);
    printf("%d\n",result);
    return 0;
}
全部评论

相关推荐

孤寡孤寡的牛牛很热情:为什么我2本9硕投了很多,都是简历或者挂,难道那个恶心人的测评真的得认真做吗
点赞 评论 收藏
分享
牛客410815733号:这是什么电影查看图片
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务