LeetCode简单题之检查单词是否为句中其他单词的前缀

news/2025/2/5 7:57:17/

题目

给你一个字符串 sentence 作为句子并指定检索词为 searchWord ,其中句子由若干用 单个空格 分隔的单词组成。
请你检查检索词 searchWord 是否为句子 sentence 中任意单词的前缀。
如果 searchWord 是某一个单词的前缀,则返回句子 sentence 中该单词所对应的下标(下标从 1 开始)。
如果 searchWord 是多个单词的前缀,则返回匹配的第一个单词的下标(最小下标)。
如果 searchWord 不是任何单词的前缀,则返回 -1 。
字符串 S 的 前缀 是 S 的任何前导连续子字符串。
示例 1:
输入:sentence = “i love eating burger”, searchWord = “burg”
输出:4
解释:“burg” 是 “burger” 的前缀,而 “burger” 是句子中第 4 个单词。
示例 2:
输入:sentence = “this problem is an easy problem”, searchWord = “pro”
输出:2
解释:“pro” 是 “problem” 的前缀,而 “problem” 是句子中第 2 个也是第 6 个单词,但是应该返回最小下标 2 。
示例 3:
输入:sentence = “i am tired”, searchWord = “you”
输出:-1
解释:“you” 不是句子中任何单词的前缀。
示例 4:
输入:sentence = “i use triple pillow”, searchWord = “pill”
输出:4
示例 5:
输入:sentence = “hello from the other side”, searchWord = “they”
输出:-1
提示:
1 <= sentence.length <= 100
1 <= searchWord.length <= 10
sentence 由小写英文字母和空格组成。
searchWord 由小写英文字母组成。
前缀就是紧密附着于词根的语素,中间不能插入其它成分,并且它的位置是固定的——-位于词根之前。(引用自 前缀_百度百科 )
来源:力扣(LeetCode)

解题思路

  题目大致的步骤:首先需要将句子分割成一个一个的单词,然后每个单词和目标前缀逐一对比,如果发现了符合条件的单词返回下标即可。

class Solution:def isPrefixOfWord(self, sentence: str, searchWord: str) -> int:sentence=sentence.split(' ')def match(a,b):  #对比前缀函数for i,j in zip(a,b):if i!=j:return Falsereturn Truefor i in range(len(sentence)):if len(sentence[i])>=len(searchWord):if match(sentence[i],searchWord):return i+1return -1

在这里插入图片描述


http://www.ppmy.cn/news/605890.html

相关文章

云计算-存算一体-EDA-技术杂谈

云计算-存算一体-EDA-技术杂谈 参考文献链接 https://mp.weixin.qq.com/s/2-MAT6xI2fcXT4LOO00gSQ https://mp.weixin.qq.com/s/bryK0IfNciB-UdigtUOfnA https://mp.weixin.qq.com/s/Snlh8rJByc9vvqEvnIad2g https://mp.weixin.qq.com/s/CeiWJ_SbzxUIFo4phZ7HGw 云原生背景下…

外网远程桌面连接设置

外网远程桌面连接设置听语音浏览&#xff1a;14925|更新&#xff1a;2016-08-09 11:33返回暂停重播播放x<div class"jw-preview jw-reset" style""></div><div class"jw-captions jw-captions-enabled jw-reset" style"font…

LeetCode简单题之数组中两元素的最大乘积

题目 给你一个整数数组 nums&#xff0c;请你选择数组的两个不同下标 i 和 j&#xff0c;使 (nums[i]-1)*(nums[j]-1) 取得最大值。 请你计算并返回该式的最大值。 示例 1&#xff1a; 输入&#xff1a;nums [3,4,5,2] 输出&#xff1a;12 解释&#xff1a;如果选择下标 i1 …

KDG5V-8-33C330N200-EX-H-M-U-H1-20比例方向阀控制器

与外置电子放大器一起使用&#xff0c;在智能控制系统和液压系统之间提供接口。这是一种非常实用的方法&#xff0c;用于控制执行器的方向和速度&#xff0c;同时消除了机器负载的快速加速和减速所引起的冲击。除了提高机器的性能和寿命外&#xff0c;通过将方向和流量控制能力…

xml解析问题

标准xml 格式的文件容易解析 报告:非对应数据结构 不好解析 一个份完整数据分成几个部分 不好解析 键和值没有对应上 CZ_EMR.TE_MOBANYY.csv https://www.runoob.com/dom/xml-dom-examples.html xml DOM jave script 实例 https://www.runoob.com/dom/dom-cdatasection.html x…

MCU各种相关架构分析

MCU各种相关架构分析 参考文献链接 https://baijiahao.baidu.com/s?id1735211364050235932&wfrspider&forpc https://www.51cto.com/article/680663.html http://www.wingtech.com/cn https://baijiahao.baidu.com/s?id1620981390264720333&wfrspider&forpc …

python读取xml文件报错ValueError: multi-byte encodings are not supported

1.在使用python对xml文件进行读取时&#xff0c;提示ValueError: multi-byte encodings are not supported 很多贴子上说把xml的编码格式改为&#xff0c;就可以正常执行了 <?xml version"1.0" encoding"utf-8"?>但是事实证明&#xff0c;不成功&a…

Python 标准库之 xml.etree.ElementTree xml解析

Python 标准库之 xml.etree.ElementTree Python中有多种xml处理API&#xff0c;常用的有xml.dom.*模块、xml.sax.*模块、xml.parser.expat模块和xml.etree.ElementTree模块&#xff08;以下简称ET&#xff09;。本文将主要介绍ET的使用&#xff0c;以及它的常用函数。其它模块的…