給定乙個段落 (paragraph) 和乙個禁用單詞列表 (banned)。返回出現次數最多,同時不在禁用列表中的單詞。題目保證至少有乙個詞不在禁用列表中,而且答案唯一。
禁用列表中的單詞用小寫字母表示,不含標點符號。段落中的單詞不區分大小寫。答案都是小寫字母。
示例:
輸入:
paragraph = "bob hit a ball, the hit ball flew far after it was hit."
banned = ["hit"]
輸出: "ball"
解釋:
"hit" 出現了3次,但它是乙個禁用的單詞。
"ball" 出現了2次 (同時沒有其他單詞出現2次),所以它是段落裡出現次數最多的,且不在禁用列表中的單詞。
注意,所有這些單詞在段落裡不區分大小寫,標點符號需要忽略(即使是緊挨著單詞也忽略, 比如 "ball,"),
"hit"不是最終的答案,雖然它出現次數更多,但它在禁用單詞列表中。
說明:
開始要把paragraph 都變成小寫,然後利用 regex split 成 string array;
接著把banned words 放入 hashset;
把 non-banned words 放入 hashmap,在這一過程中,可以保留 出現次數最多的 word,不需要在多乙個loop 來找出 max。
!s.equals("") 的作用是因為 regex 會造成 「」 的情況,所以要跳過。
public string mostcommonword(string paragraph, string banned) }}
}return maxstr;
}
LeetCode 819 最常見的單詞
給定乙個段落 paragraph 和乙個禁用單詞列表 banned 返回出現次數最多,同時不在禁用列表中的單詞。題目保證至少有乙個詞不在禁用列表中,而且答案唯一。禁用列表中的單詞用小寫字母表示,不含標點符號。段落中的單詞不區分大小寫。答案都是小寫字母。示例 輸入 paragraph bob hit ...
Leetcode 819 最常見的單詞
給定乙個段落 paragraph 和乙個禁用單詞列表 banned 返回出現次數最多,同時不在禁用列表中的單詞。題目保證至少有乙個詞不在禁用列表中,而且答案唯一。禁用列表中的單詞用小寫字母表示,不含標點符號。段落中的單詞不區分大小寫。答案都是小寫字母。include include include ...
LeetCode 819 最常見的單詞
給定乙個段落 paragraph 和乙個禁用單詞列表 banned 返回出現次數最多,同時不在禁用列表中的單詞。題目保證至少有乙個詞不在禁用列表中,而且答案唯一。禁用列表中的單詞用小寫字母表示,不含標點符號。段落中的單詞不區分大小寫。答案都是小寫字母。輸入 paragraph bob hit a b...