LeetCode 2047. 句子中的有效单词数

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

句子仅由小写字母('a' 到 'z')、数字('0' 到 '9')、连字符('-')、标点符号('!'、'.' 和 ',')以及空格(' ')组成。
每个句子可以根据空格分解成 一个或者多个 token ,这些 token 之间由一个或者多个空格 ’ ’ 分隔。

如果一个 token 同时满足下述条件,则认为这个 token 是一个有效单词:

  • 仅由小写字母、连字符和/或标点(不含数字)。
  • 至多一个 连字符 '-' 。如果存在,连字符两侧应当都存在小写字母("a-b" 是一个有效单词,但 "-ab""ab-" 不是有效单词)。
  • 至多一个 标点符号。如果存在,标点符号应当位于 token 的 末尾

这里给出几个有效单词的例子:“a-b.”、“afad”、“ba-c”、“a!” 和 “!” 。

给你一个字符串 sentence ,请你找出并返回 sentence 中 有效单词的数目 。

示例 1:
输入:sentence = "cat and  dog"
输出:3
解释:句子中的有效单词是 "cat""and""dog"示例 2:
输入:sentence = "!this  1-s b8d!"
输出:0
解释:句子中没有有效单词
"!this" 不是有效单词,因为它以一个标点开头
"1-s""b8d" 也不是有效单词,因为它们都包含数字示例 3:
输入:sentence = "alice and  bob are playing stone-game10"
输出:5
解释:句子中的有效单词是 "alice""and""bob""are""playing"
"stone-game10" 不是有效单词,因为它含有数字示例 4:
输入:sentence = "he bought 2 pencils, 3 erasers, and 1  pencil-sharpener."
输出:6
解释:句子中的有效单词是 "he""bought""pencils,""erasers,""and""pencil-sharpener."提示:
1 <= sentence.length <= 1000
sentence 由小写英文字母、数字(0-9)、以及字符(' ''-''!''.'',')组成
句子中至少有 1 个 token

https://leetcode-cn.com/problems/number-of-valid-words-in-a-sentence/

2. 解题

class Solution:def countValidWords(self, sentence: str) -> int:sym = ['!', '.', ',']def valid(x):if len(x) == 0:return Falseif any(c.isdigit() for c in x):return False # 有数字ct = x.count('-')if ct > 1 or x[0]=='-' or x[-1]=='-':return False # 连字符在首尾,个数>1if ct == 1:p = x.find('-')if not x[p-1].isalpha() or not x[p+1].isalpha():return False # 连字符两侧不为字母ct = 0for c in x:if c in sym:ct += 1if ct > 1:return False # 标点符号数量 > 1if ct == 1 and x[-1] not in sym:return False # 标点符号存在,且不在末尾return Truereturn len([x for x in sentence.split(' ') if valid(x)])

56 ms 15.2 MB Python3


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

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

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

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

相关文章

java技术学习内容_Java开发主要都学些什么内容?

展开全部Java开发培训班主要学32313133353236313431303231363533e58685e5aeb931333363386164习的课程大纲&#xff0c;你可以看下。第一阶段:JavaSE基础、MySQL数据库应用1.1 Java SE基本语法Eclipse开发环境类和对象封装、继承和多态Java数据结构(栈、队列、链表的实现)IO流技…

LeetCode 2048. 下一个更大的数值平衡数(枚举)

文章目录1. 题目2. 解题1. 题目 如果整数 x 满足&#xff1a;对于每个数位 d &#xff0c;这个数位 恰好 在 x 中出现 d 次。 那么整数 x 就是一个 数值平衡数 。 给你一个整数 n &#xff0c;请你返回 严格大于 n 的 最小数值平衡数 。 示例 1&#xff1a; 输入&#xff1a…

LeetCode Longest Common Prefix

原题链接在这里&#xff1a;https://leetcode.com/problems/longest-common-prefix/ 题目&#xff1a; Write a function to find the longest common prefix string amongst an array of strings. 题解&#xff1a; strs中的第一个字符串从i 0 开始&#xff0c;取char, 取出c…

java 主方法 this_java main 方法怎么创建

学校作业。。publicstaticvoidmain(String[]args){不知道加在哪里packagepersonproject;publicclassPerson{publicstaticintlastId0;privateStringname;privateStringgender;privateS...学校作业。。public static void main(String[] args) {不知道加在哪里package personproj…

输出国际象棋输出余弦曲线

输出国际象棋棋盘 1 #include <stdio.h>2 #include <stdlib.h>3 #include <windows.h>4 int main(){5 int i,j;6 SetConsoleOutputCP(437);//显示大于127的ASiic 码 7 for(i0;i<8;i){8 for(j0;j<8;j){9 if((ij)%20 ){…

LeetCode 2049. 统计最高分的节点数目(DFS)

文章目录1. 题目2. 解题1. 题目 给你一棵根节点为 0 的 二叉树 &#xff0c;它总共有 n 个节点&#xff0c;节点编号为 0 到 n - 1 。 同时给你一个下标从 0 开始的整数数组 parents 表示这棵树&#xff0c;其中 parents[i] 是节点 i 的父节点。 由于节点 0 是根&#xff0c;所…

python源文件编码的含义_【原创】Python 源文件编码解读

以下内容源于对 PEP-0263 的翻译和解读&#xff0c;同时给出了一些网上网友的说法。 我是分割线 PEP 0263 -- Defining Python Source Code Encodings【摘要】给出声明 Python 源文件编码的语法。该编码信息后续会被 Python 解析器用于解析源文件。这种方式增强了对源文件中 U…

MyEclipse中SVN的常见的使用方法

本次主要内容&#xff1a; 一 、导入项目 &#xff08;Checkout&#xff09;。从svn资源库检出 二 、更新 &#xff08;Update&#xff09; 三、锁&#xff08;对要修改的文件加锁&#xff0c;防止文件冲突&#xff09; 四、提交&#xff08;项目修改后的提交&#xff09; 五、…

fastapi 路径依赖项Depends / 装饰器依赖dependencies / 全局依赖 / 带 yield 的依赖

文章目录1. 依赖项2. 类作为依赖3. 子依赖项3.1 多次使用同一个依赖项4. 路径操作装饰器依赖项5. 全局依赖项6. 带 yield 的依赖项7. 使用带 yield 上下文管理器作为依赖项learn from https://fastapi.tiangolo.com/zh/tutorial/dependencies/ 1. 依赖项 只能传给 Depends 一…

与number_format函数有关的一个bug?

最近在做一个模仿excel功能的在线项目。其中有一个功能&#xff0c;数据列表中的数据&#xff0c;到了最后一列都要进行总计。这本来没什么难度。直接从数据库取出数据后&#xff0c;进行foreach相加就行 了。这是如此的简单&#xff0c;以至于用了不到五分钟写就了功能&#x…

fastapi 安全性 / APIRouter / BackgroundTasks / 元数据 / 测试调试

文章目录1. 例子2. 获取当前用户3. 使用密码和 Bearer 的简单 OAuth24. 使用&#xff08;哈希&#xff09;密码和 JWT Bearer 令牌的 OAuth25. 多个应用文件5.1 APIRouter6. BackgroundTasks7. 元数据7.1 标题、描述和版本7.2 openapi_tags 标签元数据7.3 OpenAPI URL7.4 文档 …

java json path_Java使用JSONPath解析JSON完整内容详解

JsonPath是一种简单的方法来提取给定JSON文档的部分内容。 JsonPath有许多编程语言&#xff0c;如Javascript&#xff0c;Python和PHP&#xff0c;Java。JsonPath提供的json解析非常强大&#xff0c;它提供了类似正则表达式的语法&#xff0c;基本上可以满足所有你想要获得的js…

wndows程序设计之书籍知识与代码摘录-封装一个类似printf的messagebox

//----------------------------------------- //本程序展示了如何实现MessageBoxPrintf函数 //本函数能像printf那样格式化输出 //摘录自&#xff1a;《windows程序设计第五版》 //----------------------------------------- #include<windows.h> #include<tchar.h&…

LeetCode 2050. 并行课程 III(拓扑排序)

文章目录1. 题目2. 解题1. 题目 给你一个整数 n &#xff0c;表示有 n 节课&#xff0c;课程编号从 1 到 n 。 同时给你一个二维整数数组 relations &#xff0c;其中 relations[j] [prevCoursej, nextCoursej] &#xff0c;表示课程 prevCoursej 必须在课程 nextCoursej 之前…

改不改,这是一个问题

概率称号&#xff1a; 给你三盒。里面放的东西。您指定&#xff0c;然后打开了另外两个。发现是空的&#xff0c;要求&#xff1a;你想改变你的选择。 答案是&#xff0c;它应该改变网上评选&#xff0c;这样的概率较大。因此&#xff0c;我要求&#xff0c;空的情况下。选择的…

LeetCode 1521. 找到最接近目标值的函数值(位运算)

文章目录1. 题目2. 解题1. 题目 Winston 构造了一个如上所示的函数 func 。他有一个整数数组 arr 和一个整数 target &#xff0c;他想找到让 |func(arr, l, r) - target| 最小的 l 和 r 。 请你返回 |func(arr, l, r) - target| 的最小值。 请注意&#xff0c; func 的输入参…

LeetCode 2053. 数组中第 K 个独一无二的字符串(哈希)

文章目录1. 题目2. 解题1. 题目 独一无二的字符串 指的是在一个数组中只出现过 一次 的字符串。 给你一个字符串数组 arr 和一个整数 k &#xff0c;请你返回 arr 中第 k 个 独一无二的字符串 。 如果 少于 k 个独一无二的字符串&#xff0c;那么返回 空字符串 “” 。 注意…

java 该改变request url_如何在Java中使用servlet过滤器来更改传入的servlet请求URL?...

如何使用servlet过滤器来更改传入的servlet请求URLweb.xml至web.xml&#xff1f;更新&#xff1a;根据BalusC的以下步骤&#xff0c;我想出了以下代码&#xff1a;public class UrlRewriteFilter implements Filter {Overridepublic void init(FilterConfig config) throws Ser…

LeetCode 2055. 蜡烛之间的盘子(前缀和)

文章目录1. 题目2. 解题1. 题目 给你一个长桌子&#xff0c;桌子上盘子和蜡烛排成一列。 给你一个下标从 0 开始的字符串 s &#xff0c;它只包含字符 * 和 | &#xff0c;其中 * 表示一个 盘子 &#xff0c;| 表示一支 蜡烛 。 同时给你一个下标从 0 开始的二维整数数组 que…

Java可靠性测试fit_Java ParagraphVectors.fit方法代码示例

import org.deeplearning4j.models.paragraphvectors.ParagraphVectors; //导入方法依赖的package包/类public static void main(String[] args) throws Exception {ClassPathResource srcFile new ClassPathResource("/raw_sentences.txt");File file srcFile.get…