题解 | #查找兄弟单词#

查找兄弟单词

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

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
import java.util.TreeMap;

public class HJ27 {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		String[] s=input.nextLine().split(" ");
		
		int n=Integer.valueOf(s[0]);//n
		
		String[] s1=new String[n];//被查找的对象
		for (int i = 1; i <=n; i++) {
			s1[i-1]=s[i];	
		}
		
		String s0=s[n+1];//查找对象
		
		int k=Integer.valueOf(s[s.length-1]);//k
		
		int count=0;
		TreeMap<String,Integer> map1=new TreeMap();
		TreeMap<String,Integer> map2=new TreeMap();
		
		for (int i = 0; i < s0.length(); i++) {
			String key0=s0.substring(i,i+1);
			int num=1;
			if (map1.containsKey(key0)) {
				map1.put(key0, map1.get(key0)+1);
			}else {
				map1.put(key0, num);
			}
		}
//		System.out.println(map1);
		
		List<String> list=new ArrayList();
		for (int j = 0; j < s1.length; j++) {
			String string=s1[j];
			map2.clear();
			if (string.length()==s0.length()&&!(s0.equals(string))) {
				
				for (int i = 0; i < string.length(); i++) {
					String key2=string.substring(i,i+1);
					int num=1;
					if (map2.containsKey(key2)) {
						map2.put(key2, map2.get(key2)+1);
					}else {
						map2.put(key2, num);
					}
				}
			}
			
//			System.out.println(map2);
			if (map1.equals(map2)) {
				count++;
				list.add(string);
			}
			
		}
		
		System.out.println(count);
		Collections.sort(list);
//		System.out.println(list);
		if (k<=list.size()) {
			System.out.println(list.get(k-1));
		}
		
	}

}

全部评论

相关推荐

爱喝奶茶的垂耳兔拥抱太阳:感觉项目和实习没有技术亮点和难点,单纯说了自己干了啥
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务