首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

求变位短语合

2012-12-28 
求变位词组合public class CharComp {/** ** 1.给单词排序 * 2.给排序后的单词设定标识符 * 3.通过标识符

求变位词组合

public class CharComp {/** *  * 1.给单词排序 * 2.给排序后的单词设定标识符 * 3.通过标识符在map中查找对应的list,并将其追加其中(未排序的单词) *  */public static Map<String,Set<String>> getGroupWords(String [] words){Map<String,Set<String>> map = new HashMap<String,Set<String>>();for(String word:words){String id = getID(word);Set<String> set = map.get(id);if(set==null){set =new TreeSet<String>();map.put(id, set);}set.add(word);}return map;}private static String getID(String word){char array []= word.toCharArray();String id="";Arrays.sort(array);int count = 0;char last ='.';for(char ch:array){if(last == ch||count==0){count++;last = ch;}else{id = id+last+count;count = 1;last = ch;}}if(!".".equals(last))id = id+last+count;return id;}//public static void main(String args[])//{//System.out.println(getID("mygodmygod"));//}}

热点排行