假设我有
String letters="CATOPHAPY";
我有字典以数组的形式检查。
String[] dict=new String[996];
我怎样才能从字母中构造最长的单词,并在我之前的词典中用词汇进行检查
谢谢
答案 0 :(得分:5)
广告1,3。
char[] toSort = original.toCharArray();
Arrays.sort(toSort);
String sorted = new String(toSort);
广告2。
Arrays.sort(dict, (String a, String b) -> b.length() - a.length());
广告4。
boolean isMatch(String dictWord, String inputWord) {
for (int i = 0, j = 0; i < dictWord.length();) {
if (j >= inputWord.length()) return false;
char d = dictWord.charAt(i), n = inputWord.charAt(j);
if (d < n) return false;
if (d >= n) j++;
if (d == n) i++;
}
return true;
}