题解 | #查找兄弟单词#

查找兄弟单词

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

import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.IOException; import java.util.*;

public class Main{

public static void main(String[] args){

    InputStreamReader reader = new InputStreamReader(System.in);

    try(BufferedReader br = new BufferedReader(reader)){
        String[] items = br.readLine().split(" ");

        int size = Integer.parseInt(items[0]);
        String[] dic = new String[size];
        String word = items[items.length-2];
        int num = Integer.parseInt(items[items.length-1]);

        for (int i = 1; i <= size; i++) {
            dic[i-1] = items[i];
        }

        char[] word_chars = word.toCharArray();

        HashMap<Integer, String> map = new HashMap<>();

        ArrayList<String> list = new ArrayList<>();


        for (String dic_item : dic) {
            int flag=0;
            if (dic_item.length()!=word.length() || dic_item.contains(word)) {
                 continue;
            }
            for (int i=0 ;i<word.length();i++){
                if (word.replaceAll(String.valueOf(word_chars[i]),"").length() == dic_item.replaceAll(String.valueOf(word_chars[i]),"").length()) flag++;
            }

            if (flag == word.length()){
                list.add(dic_item);
            }
        }

        //进行排序
        list.sort(new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o1.compareTo(o2);
            }
        });

        System.out.println(list.size());
        if (num>=0&&num<=list.size()){
            System.out.println(list.get(num-1));
        }


    }catch(IOException e){
        System.out.println(e.getMessage());
    }

}

}

全部评论

相关推荐

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