首页 > 编程语言 >力扣 819. 最常见的单词--python

力扣 819. 最常见的单词--python

时间:2023-04-26 11:22:54浏览次数:47  
标签:单词 hit -- 禁用 banned 列表 力扣 python paragraph

给定一个段落 (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 只包含字母、空格和下列标点符号!?',;.
不存在没有连字符或者带有连字符的单词。
单词里只包含字母,不会出现省略号或者其他标点符号。

解法:

先把段落里面的单词拿出构成列表,再判断每个单词数量以及是否在banned里面:

class Solution:
    def mostCommonWord(self, paragraph: str, banned: List[str]) -> str:
        L=[]
        n=len(paragraph)
        s=''
        for i in range(n): #遍历paragraph以获得纯字母单词的列表         
            if not paragraph[i].isalpha():
                if s !='':
                    L.append(s)
                s=''
            else:               
                s+=paragraph[i].lower()
            if i==n-1 and s!='':#判断直到最后一个遍历即i=n-1的时候,如果s不为空也要加入L,要不然就少了最后一个单词
                    L.append(s)
        LL=list(set(L))#取单词列表的集合
        l=0
        ans=''
        for i in LL:#遍历集合判断单词是否在banned里面,以及获取单词出现次数最多
            if i not in banned:
                if L.count(i)>l:
                    l=L.count(i)
                    ans=i
        return ans

 

标签:单词,hit,--,禁用,banned,列表,力扣,python,paragraph
From: https://www.cnblogs.com/lkc-test/p/17355071.html

相关文章

  • net::ERR_FAILED 413
    后台收不到post请求,前端报错413具体情况如下: 开始以为是跨域又有问题,进一步发现是上传的图片文件过大。Node.js环境中koa框架使用还不熟练。参考笔记-node.jskoa框架。请求体过大报413错误-简书(jianshu.com)引入koa-bodyparser 挂载配置,将文件大小设置为不超过10MB......
  • 局域网实现文件上传下载功能实例解析
    ​IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag        客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续传......
  • uniapp 动态修改 css 样式
    css使用var注入变量,达到设置动态样式的需求声明css变量时,变量名前面要加两根连词线(--);变量使用kebab-case命名方式,即--header-color而不是--headerColor;变量名大小写敏感,--header-color和--Header-Color是两个不同的变量名;var()函数用于读取变量。接下来,看......
  • PGSQL系统表之 pg_class 记载表和几乎所有有字段或者是那些类似表的东西
     pg_classpg_class表记载表和几乎所有有字段或者是那些类似表的东西。包括索引(不过还要参阅pg_index)、序列、视图、物化视图、复合类型和一些特殊关系类型;参阅relkind。在下面,当指所有这些对象的时候说"关系"(relations)。不是所有字段对所有关系类型都有意义。表47-11......
  • ubuntu
    连接服务器[email protected]、连接之前需要服务器有ssh服务。通过命令查看:servicesshstatus2、windows端开启服务https://blog.csdn.net/qq_72935001/article/details/126895952查看服务器ipifconfig查看公网ipcurlifconfig.me查看/修改主机名 ......
  • python 使用selenium 不开启浏览器
    selenium不启动浏览器模式打开浏览器再启动会浪费时间,对爬虫的性能也是个影响,还有一种就是不打开浏览器。如下参数是针对chrome的全局参数,不能自定义参数。fromseleniumimportwebdriver#还有一些其他的参数'''#添加UAoptions.add_argument('user-agent="MQQBrowser/26......
  • 【ChatGPT】ChatGPT的部署
    1.模型训练:使用大规模训练数据集对ChatGPT模型进行训练,以提高模型的准确性和适用性。训练好的模型可以保存为一个文件,并用于后续的部署。2.模型转换:由于ChatGPT是基于深度学习框架PyTorch实现的,因此需要将PyTorch模型转换为TensorFlowServing支持的格式。这一步可以使用TensorF......
  • Hugging Face公司介绍
    HuggingFace是一家非常活跃的人工智能创业公司。它拥有一个非常强大并且活跃的人工智能社区。有超过5000多家机构都在HuggingFace的社区发布内容,包括GoogleAI、FacebookAI、微软等。自从2016年成立以来,这家企业经历了5轮融资,总共募集了6000万美金。 那么,这是一家什么样......
  • 【Unity】高级——有限状态机(角色控制)移动、待机
    简介有限状态机是unity游戏开发中经常用到的一个概念,能制作敌人AI,玩家控制器等。有限状态机允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类实现:将一个个具体的状态类抽象出来经典案例:玩家行动器案例中玩家行动包括:待机、移动、跳跃、冲刺、爬墙等而这......
  • Spring
     第1步:启动一个新的Spring引导项目用start.spring.io以创建“网络”项目。在“依赖项”对话框中,搜索并添加“Web”依赖项,如屏幕截图所示。点击“生成”按钮,下载zip,然后将其解压缩到计算机上的文件夹中。  创建者start.spring.io包含弹簧启动,一个框架,使Spring准备好......