目录
1、最常见的单词
给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。
题目保证至少有一个词不在禁用列表中,而且答案唯一。
禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。
class Solution {
public String mostCommonWord(String paragraph, String[] banned) {
paragraph += ".";
char[] chars = paragraph.toCharArray();
Set<String> set = new HashSet<>();
for(String str : banned){
set.add(str);
}
int strCount = 0;
String strString = "";
Map<String,Integer> map = new HashMap<>();
StringBuilder builder = new StringBuilder();
for(Character ch : chars){
if(Character.isLetter(ch)){
builder.append(Character.toLowerCase(ch));
}else if(builder.length()>0){
String str = builder.toString();
if(!set.contains(str)){
map.put(str,map.getOrDefault(str,0)+1);
int count = map.get(str);
if(count > strCount){
strCount = count;
strString = str;
}
}
builder = new StringBuilder();
}
}
return strString;
}
}
2、相关知识
字符串: CSDN