Java实现蓝桥杯-算法提高 P1003

算法提高 P1003
时间限制:1.0s 内存限制:256.0MB
  作为一名网络警察,你的任务是监视电子邮件,看其中是否有一些敏感的关键词。不过,有些狡猾的犯罪嫌疑人会改变某些单词的字母顺序,以逃避检查。请编写一个程序,发现这种调整过顺序的关键词。程序的输入有两行,第一行是关键词列表,第二行是待检查的句子。程序的输出为在该句子中所找到的经过顺序调整的关键词。(单词全部为小写,单词之间以一个空格分隔,每一行的单词个数不限)

输入:
  guns mines missiles
  aameric ssell snug dan iimsssle ot sit neeemis

输出:
  guns missiles

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


public class P1003 {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String[] password = in.nextLine().split(" ");
		String[] pattern = in.nextLine().split(" ");
		in.close();

		List<String> list = (List<String>) new ArrayList<String>();
		for (String string : pattern) {
			String ans = march(string, password);
			if (!ans.equals("")) {
				list.add(ans);
			}
		}
		
		Collections.sort(list);
		for(String string : list) {
			System.out.print(string + " ");
		}
	}

	private static String march(String string, String[] password) {
		for (String s : password) {
			char[] cn = string.toCharArray();
			char[] cd = s.toCharArray();

			Arrays.sort(cn);
			Arrays.sort(cd);
			if (new String(cn).equals(new String(cd))) {
				return s;
			}
		}
		return "";
	}


}

posted @ 2019-05-30 22:44  南墙1  阅读(47)  评论(0编辑  收藏  举报