LeetCode 819. 最常见的单词

1. 题目

给定一个段落 (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"不是最终的答案,虽然它出现次数更多,但它在禁用单词列表中。提示:
1 <= 段落长度 <= 1000
0 <= 禁用单词个数 <= 100
1 <= 禁用单词长度 <= 10
答案是唯一的, 且都是小写字母 (即使在 paragraph 里是大写的,
即使是一些特定的名词,答案都是小写的。)
paragraph 只包含字母、空格和下列标点符号!?',;.
不存在没有连字符或者带有连字符的单词。
单词里只包含字母,不会出现省略号或者其他标点符号。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/most-common-word
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {
public:string mostCommonWord(string paragraph, vector<string>& banned) {int i, maxcount = 0;string sub;unordered_map<string,int> m;unordered_set<string> s(banned.begin(), banned.end());for(i = 0; i < paragraph.size(); ++i){if(isalpha(paragraph[i])){sub.push_back(tolower(paragraph[i]));if(i == paragraph.size()-1)m[sub]++;//获取单词,计数+1}else{if(sub != "")m[sub]++;//获取单词,计数+1sub = "";}}for(auto rec:m){if(!s.count(rec.first))//不在禁用列表{if(rec.second > maxcount)//次数更多{maxcount = rec.second;sub = rec.first;}}}return sub;}
};

4 ms 9 MB


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java代码优化方案 J2ME内存优化

从几本书上&#xff0c;N个网站上整理的一些JAVA代码优化方案&#xff0c;最近的项目只有1M内存可用&#xff0c;必须很抠门了~J2ME项目更要注意的 避免内存溢出 l 不用的对象释放(置空) 如 &#xff1a; a不为空时 anew object()//这句代码执行时将有两个对象存在于内存中 较…

was 程序jvm_【保家护行航】WAS知识学习分享

文/王文平保家护行航&#xff1a;航是护航&#xff0c;是保障人真抓实干&#xff0c;持之以恒&#xff0c;切实做好运维保障本职工作&#xff0c;守护农行生产安全的务本崇实&#xff1b;航是领航&#xff0c;是保障人敬业敏学&#xff0c;精益求精&#xff0c;努力提高运维管理…

LeetCode 824. 山羊拉丁文

1. 题目 给定一个由空格分割单词的句子 S。每个单词只包含大写或小写字母。 我们要将句子转换为 “Goat Latin”&#xff08;一种类似于 猪拉丁文 - Pig Latin 的虚构语言&#xff09;。 山羊拉丁文的规则如下&#xff1a; 如果单词以元音开头&#xff08;a, e, i, o, u&am…

jQuery学习笔记:事件

一、页面载入1、ready(fn)当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。这是事件模块中最重要的一个函数&#xff0c;因为它可以极大地提高web应用程序的响应速度。 简单地说&#xff0c;这个方法纯粹是对向window.load事件注册事件的替代方法。通过使用这个方法&#…

torch.nn.Module()

torch.nn.Module() 如果自己想研究&#xff0c;官方文档 它是所有的神经网络的根父类&#xff01; 你的神经网络必然要继承&#xff01; 模块也可以包含其他模块&#xff0c;允许将它们嵌套在树结构中。所以呢&#xff0c;你可以将子模块指定为常规属性。常规定义子模块的方法…

dlib 怎么安装vs2017_win10中的dlib库安装过程

之前试过很多方法结果都失败&#xff0c;最后终于发现一个成功的方法&#xff0c;先记一下以防忘记。参考&#xff1a;记一次Win10环境python3.7安装dlib模块趟过的坑由于我是通过Anaconda安装的Python&#xff0c;所以环境与这位博主的有所不同&#xff0c;所以具体情况需要根…

LeetCode 779. 第K个语法符号(找规律)

1. 题目 在第一行我们写上一个 0。 接下来的每一行&#xff0c;将前一行中的0替换为01&#xff0c;1替换为10。 给定行数 N 和序数 K&#xff0c;返回第 N 行中第 K个字符。&#xff08;K从1开始&#xff09; 例子: 输入: N 1, K 1 输出: 0输入: N 2, K 1 输出: 0输入: …

ADO.NET、ODP.NET、Linq to SQL、ADO.NET Entity 、NHibernate在Oracle下的性能比较

下面我对Oracle数据库在.NET平台下的主要几种数据访问方式进行测试。 下面是测试表&#xff1a; CREATE TABLE CUSTOMERS ( "CUSTOMER_ID" NUMBER NOT NULL , "FIRST_NAME" VARCHAR2(255 CHAR) NOT NULL , "LAST_NAME" VARCHAR2(255 CHAR) …

LeetCode 第 186 场周赛(1060/3107,前34.1%)

文章目录1. 比赛结果2. 题目1. LeetCode 5392. 分割字符串的最大得分 easy2. LeetCode 5393. 可获得的最大点数 medium3. LeetCode 5394. 对角线遍历 II medium4. LeetCode 5180. 带限制的子序列和 hard1. 比赛结果 做出来了 1、2 题&#xff0c;第3题模拟法&#xff0c;超时&…

torch.nn.embedding()

作者&#xff1a;top_小酱油 链接&#xff1a;https://www.jianshu.com/p/63e7acc5e890 来源&#xff1a;简书 内容&#xff1a;上述是以RNN为基础解析的 torch.nn.Embedding(num_embeddings, embedding_dim, padding_idxNone, max_normNone, norm_type2.0, scale_grad_by_fre…

oracle杀死进程时权限不足_在oracle中创建函数时权限不足

我对oracle有一点了解。我试图创建一个如下所示的函数。在oracle中创建函数时权限不足CREATE OR REPLACE FUNCTION "BOOK"."CONVERT_TO_WORD" (totpayable IN NUMBER) RETURN VARCHARAStotlength NUMBER;num VARCHAR2(14);word VARCHAR2(70);word1 VARCHAR…

哇塞,打开一个页面访问了这么多次数据库??

用SQL Server 事件探查器看了一下&#xff0c;哇塞&#xff0c;每打开一个页面都select了n多次数据库&#xff0c;而且很多都是类似的代码&#xff1f;为啥&#xff1f; (1)、二级嵌套绑定数据源 (2)、二级联动 (3)、……多着呢&#xff01; 解决方法&#xff1a; 对于数据不大…

torch.nn

torch.nn 与 torch.nn.functional 说起torch.nn&#xff0c;不得不说torch.nn.functional! 这两个库很类似&#xff0c;都涵盖了神经网络的各层操作&#xff0c;只是用法有点不同&#xff0c;比如在损失函数Loss中实现交叉熵! 但是两个库都可以实现神经网络的各层运算。其他包…

ORACLE使用JOB定时备份数据库

Oracle的备份一般都是在操作系统上完成&#xff0c;因此定时备份Oracle的功能一般都是由操作系统功能完成&#xff0c;比如crontab。但是Oracle的PIPE接口使得在Oracle数据库中通过JOB来备份Oracle变得可能。 这篇文章给出一个简单的例子&#xff0c;说明如何在JOB中定期备份数…

mysql 装载dump文件_mysql命令、mysqldump命令找不到解决

1、解决bash: mysql: command not found 的方法[rootDB-02 ~]# mysql -u root-bash: mysql: command not found原因:这是由于系统默认会查找/usr/bin下的命令&#xff0c;如果这个命令不在这个目录下&#xff0c;当然会找不到命令&#xff0c;我们需要做的就是映射一个链接到/u…

LeetCode 796. 旋转字符串

1. 题目 给定两个字符串, A 和 B。 A 的旋转操作就是将 A 最左边的字符移动到最右边。 例如, 若 A ‘abcde’&#xff0c;在移动一次之后结果就是’bcdea’ 。如果在若干次旋转操作之后&#xff0c;A 能变成B&#xff0c;那么返回True。 示例 1: 输入: A abcde, B cdeab …

【DKN】(一)KCN详解

_ init _&#xff08;&#xff09;函数 参数&#xff1a; self, config, pretrained_word_embedding, pretrained_entity_embedding, pretrained_context_embedding config&#xff1a; 设置的固定的参数&#xff01; pretrained_word_embedding&#xff1a; 根据下面的使用是…

搜索引擎优化经验谈

转自&#xff1a;http://blog.donews.com/zszwyds/archive/2009/08/24/1551179.aspx 费话少说&#xff0c;直入正题。 1. “白马非马”的关键字(词) 很多客户对于自己网站的关键词无从下手&#xff0c;大部分的客户选择都是大而全的关键词&#xff0c;很多的关键词如果选择…

iphone版 天行skyline_Skyline QT

应用标题Skyline QT应用描述An information and feedback gathering tool for our Skyline Queenstown visitor to discover the complex and its array of activities and food and beverage outlets.Welcome to the world of SkylineAre you looking for things to do in New…

LeetCode 788. 旋转数字

1. 题目 我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后&#xff0c;我们仍可以得到一个有效的&#xff0c;且和 X 不同的数。要求每位数字都要被旋转。 如果一个数的每位数字被旋转以后仍然还是一个数字&#xff0c; 则这个数是有效的。 0, 1, 和 8 被旋转后…