题解 | #查找兄弟单词#

查找兄弟单词

https://www.nowcoder.com/practice/03ba8aeeef73400ca7a37a5f3370fe68

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

int comper(char *self, char *str2){
    int arr[128] = {0};
    int len1 = strlen(self);

    if(strlen(str2) == len1 && strcmp(self, str2)){
        for(int i = 0; i < len1; i++){
            arr[self[i]]++;
            arr[str2[i]]--;
        }
        for(int i = 0; i < len1; i++){
            if(arr[self[i]] != 0 || arr[str2[i]] != 0){
                return 0;
            }
        }
        return 1;
    }
    return 0;
}

int main(){

    char str[1004][12];
    memset(str, '\0', sizeof(str));
    
    int n = 0;
    scanf("%d", &n);
    for(int i = 0; i < n; i++){
        scanf("%s", str[i]);
    }

    char spe[12];
    int k;
    scanf("%s %d", spe, &k);
    int len = strlen(spe);
    
    char *tmp[n];
    int count = 0;
    for(int i = 0; i < n; i++){
        if(comper(spe, str[i])){
            tmp[count++] = str[i];
        }
    }

    for(int i = 0; i < count - 1; i++){
        for(int j = 0; j < count - 1 - i; j++){
            if(strcmp(tmp[j], tmp[j + 1]) > 0){
                char *s;
                s = tmp[j + 1];
                tmp[j + 1] = tmp[j];
                tmp[j] = s;
            }
        }
    }

    printf("%d\n", count);
    if(count > k)
        printf("%s", tmp[k - 1]);

    return 0;
}

全部评论

相关推荐

有趣的牛油果开挂了:最近这个阶段收到些杂七杂八的短信是真的烦
点赞 评论 收藏
分享
11-24 00:11
已编辑
广东工业大学 算法工程师
避雷深圳&nbsp;&nbsp;yidao,试用期&nbsp;6&nbsp;个月。好嘛,试用期还没结束,就直接告诉你尽快找下一家吧,我谢谢您嘞
牛客75408465号:笑死,直属领导和 hr 口径都没统一,各自说了一些离谱的被裁理由,你们能不能认真一点呀,哈哈哈哈哈😅😅😅
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务