题解 | #查找兄弟单词#

查找兄弟单词

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

import java.util.Scanner;
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int nums = in.nextInt();
        String[] dir = new String[nums];
        for (int i = 0; i < nums; i++)
            dir[i] = in.next();
        String x = in.next();
        int k = in.nextInt();
        Arrays.sort(dir);
        List<String> brothers = new LinkedList<>();
        TreeMap<Character, Integer> mp = new TreeMap<>();
        for (int i = 0; i < x.length(); i++) {
            char ch = x.charAt(i);
            if (!mp.containsKey(ch)) mp.put(ch, 0);
            else {
                mp.put(ch, mp.get(ch) + 1);
            }
        }
        for (String s : dir) {
            if (s.length() != x.length() || s.equals(x)) continue;
            TreeMap<Character, Integer> bro_mp = new TreeMap<>();
            for (int i = 0; i < s.length(); i++) {
                char ch = s.charAt(i);
                if (!bro_mp.containsKey(ch)) bro_mp.put(ch, 0);
                else {
                    bro_mp.put(ch, bro_mp.get(ch) + 1);
                }
            }
            if(!bro_mp.equals(mp)) continue;
            brothers.add(s);

        }
        System.out.println(brothers.size());
        if(k<=brothers.size())
            System.out.println(brothers.get(k-1));

    }

}

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务