当前位置:网站首页>One question per day 2047 Number of valid words in the sentence
One question per day 2047 Number of valid words in the sentence
2022-07-05 05:42:00 【A big pigeon】
Judge the number of effective words in the sentence .
The topic is relatively simple , Split sentences into words , Then judge whether the word is valid .
however “ It works ” The conditions are a little cumbersome :
If one token At the same time, the following conditions are met , I think this is token Is a valid word :
1. No numbers
2. At most one A hyphen '-' . If there is , There should be lowercase letters on both sides of the hyphen ("a-b" Is a valid word , but "-ab" and "ab-" Not a valid word ).
3. At most one Punctuation . If there is , Punctuation marks should be located at token Of At the end of .
Official explanation :
class Solution:
def countValidWords(self, sentence: str) -> int:
def valid(s):
hasHyphens = False
for i, ch in enumerate(s):
if ch.isdigit() or ch in "!.," and i < len(s)-1:
return False
if ch == '-':
if hasHyphens or i==0 or i== len(s)-1 or not s[i-1].islower() or not s[i+1].islower():
return False
hasHyphens = True
return True
return sum(valid(s) for s in sentence.split())
His writing :
I haven't seen it before , Easy to leak conditions .
class Solution:
def countValidWords(self, sentence: str) -> int:
tokens = sentence.split()
count = 0
print(tokens)
for token in tokens:
istoken = True
hasHyphens = False
for i,x in enumerate(token):
if x.isdigit():
istoken = False
break
if x in "!.," and i != len(token)-1:
istoken = False
break
if x == '-':
if hasHyphens or i==0 or i== len(token)-1 or not token[i-1].islower() or not token[i+1].islower():
istoken = False
break
hasHyphens = True
if istoken and token:
count += 1
return countAdd :
Three ways to simplify code learned :
One 、enumerate(iterable,start=0) Returns an enumeration object , It contains a count value and iteration object iterable Generated value .
This method is equivalent to :
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1Built in functions — Python 3.10.2 file
Two 、sum(iterable, /, start=0) Also can be [True,True,False] So boolean type sums , Return to it True Number .
from start Start from left to right iterable And returns the total value . iterable The term of is usually a number , and start Value is not allowed to be a string .
3、 ... and 、 use in Instead of multiple == or == or ==
Such as : ch in "!.,"
x in [1,3,5],
边栏推荐
- Annotation and reflection
- Introduction to tools in TF-A
- Control unit
- Bit mask of bit operation
- 26、 File system API (device sharing between applications; directory and file API)
- Acwing 4301. Truncated sequence
- [cloud native] record of feign custom configuration of microservices
- Codeforces Round #715 (Div. 2) D. Binary Literature
- 注解与反射
- 第六章 数据流建模—课后习题
猜你喜欢

剑指 Offer 53 - II. 0~n-1中缺失的数字

Implement a fixed capacity stack

CF1637E Best Pair

SAP method of modifying system table data

Pointnet++学习

Analysis of backdoor vulnerability in remote code execution penetration test / / phpstudy of national game title of national secondary vocational network security B module

lxml. etree. XMLSyntaxError: Opening and ending tag mismatch: meta line 6 and head, line 8, column 8

Some common problems in the assessment of network engineers: WLAN, BGP, switch

【Jailhouse 文章】Jailhouse Hypervisor

Sword finger offer 53 - I. find the number I in the sorted array
随机推荐
Implement a fixed capacity stack
Control Unit 控制部件
Haut OJ 2021 freshmen week II reflection summary
Individual game 12
Csp-j-2020-excellent split multiple solutions
[article de jailhouse] jailhouse hypervisor
剑指 Offer 58 - II. 左旋转字符串
Sword finger offer 53 - I. find the number I in the sorted array
Gbase database helps the development of digital finance in the Bay Area
Kubedm series-00-overview
常见的最优化方法
Maximum number of "balloons"
读者写者模型
2022 pole technology communication arm virtual hardware accelerates the development of Internet of things software
【Jailhouse 文章】Jailhouse Hypervisor
卷积神经网络——卷积层
智慧工地“水电能耗在线监测系统”
Remote upgrade afraid of cutting beard? Explain FOTA safety upgrade in detail
Reflection summary of Haut OJ freshmen on Wednesday
利用HashMap实现简单缓存