一个com的网站多少钱,网站最常用字体,个人公司网站建设答辩,六安网约车收入怎么样最常见的单词
819. 最常见的单词 - 力扣#xff08;LeetCode#xff09;
题目#xff1a;
给你一个字符串 paragraph 和一个表示禁用词的字符串数组 banned #xff0c;返回出现频率最高的非禁用词。题目数据 保证 至少存在一个非禁用词#xff0c;且答案 唯一 。
par…最常见的单词
819. 最常见的单词 - 力扣LeetCode
题目
给你一个字符串 paragraph 和一个表示禁用词的字符串数组 banned 返回出现频率最高的非禁用词。题目数据 保证 至少存在一个非禁用词且答案 唯一 。
paragraph 中的单词 不区分大小写 答案应以 小写 形式返回。 示例 1
输入paragraph Bob hit a ball, the hit BALL flew far after it was hit., banned [hit]
输出ball
解释
hit 出现了 3 次但它是禁用词。
ball 出现了两次没有其他单词出现这么多次因此它是段落中出现频率最高的非禁用词。
请注意段落中的单词不区分大小写
标点符号会被忽略即使它们紧挨着单词如 ball,
并且尽管 hit 出现的次数更多但它不能作为答案因为它是禁用词。示例 2
输入paragraph a., banned []
输出a提示
1 paragraph.length 1000paragraph 由英文字母、空格 、和以下符号组成!?,;.0 banned.length 1001 banned[i].length 10banned[i] 仅由小写英文字母组成
自己的思路和代码
思路 easy的题直接上哈希表一路搞定
代码
class Solution {
public:string mostCommonWord(string paragraph, vectorstring banned) {string word;unordered_mapstring, int hashmap;for (int i 0; i paragraph.size(); i) {if ((paragraph[i] A paragraph[i] Z) ||(paragraph[i] a paragraph[i] z)) {if (paragraph[i] A paragraph[i] Z) {word tolower(paragraph[i]);} else {word paragraph[i];}} else {if(!word.empty()) {hashmap[word];word.clear();} }// return a;}if(!word.empty()) {hashmap[word];}for (auto x : banned) {hashmap.erase(x);}string result;for (auto [k, v] : hashmap) {if (hashmap[result] v) {result k;//printf(%s\n, result.c_str());}}return result;}
};