819. 最常见的单词
关键思路就是,把文章转化为单词数组;
然后把需要剔除的单词放入一个HashMap中,
再把不含需要剔除的单词放入另一个HashMap中;
找出其中value最大的即可;
paragraph=paragraph.toLowerCase();
paragraph=paragraph.replace('!',' ').replace('?',' ').replace(''',' ').replace(',',' ').replace(';',' ').replace('.',' ').trim();
String[] s = paragraph.split(" ");
Map<String,Integer> map1 = new HashMap<>();
Map<String,Integer> map2 = new HashMap<>();
//被禁用的单词放入map1
for(String str:banned){
map1.put(str,1);value随便给
}
//把没有禁用的单词放入map2
for(String str : s){
if(!map1.containsKey(str) && !str.equals("")){没有需要剔除的单词
map2.put(str,map2.getOrDefault(str,0)+1);
}
}
//在map2找出出现最多的单词
int max = -1;
String res = null;
for(String str:map2.keySet()){
if(map2.get(str) > max){
max = map2.get(str);
res = str;
}
}
return res;
748. 最短补全词
Arrays.sort(words,(a,b)->a.length()-b.length());//关键
因为要最短的;
557. 反转字符串中的单词 III
pre[i] = new StringBuilder(pre[i]).reverse().toString();
StringBuilder的reverse();