LeetCode简单题之检查单词是否为句中其他单词的前缀
题目
给你一个字符串 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
LeetCode简单题之检查单词是否为句中其他单词的前缀相关推荐
- C练题笔记之:Leetcode-1455. 检查单词是否为句中其他单词的前缀
题目: 给你一个字符串 sentence 作为句子并指定检索词为 searchWord ,其中句子由若干用 单个空格 分隔的单词组成.请你检查检索词 searchWord 是否为句子 sentence ...
- LeetCode 1455. 检查单词是否为句中其他单词的前缀
1. 题目 给你一个字符串 sentence 作为句子并指定检索词为 searchWord ,其中句子由若干用 单个空格 分隔的单词组成. 请你检查检索词 searchWord 是否为句子 sente ...
- LeetCode简单题之检查某单词是否等于两单词之和
题目 字母的 字母值 取决于字母在字母表中的位置,从 0 开始 计数.即,'a' -> 0.'b' -> 1.'c' -> 2,以此类推. 对某个由小写字母组成的字符串 s 而言,其 ...
- LeetCode简单题之检查字符串是否为数组前缀
题目 给你一个字符串 s 和一个字符串数组 words ,请你判断 s 是否为 words 的 前缀字符串 . 字符串 s 要成为 words 的 前缀字符串 ,需要满足:s 可以由 words 中的 ...
- LeetCode简单题之检查句子中的数字是否递增
题目 句子是由若干 token 组成的一个列表,token 间用 单个 空格分隔,句子没有前导或尾随空格.每个 token 要么是一个由数字 0-9 组成的不含前导零的 正整数 ,要么是一个由小写英文 ...
- LeetCode简单题之检查两个字符串数组是否相等
题目 给你两个字符串数组 word1 和 word2 .如果两个数组表示的字符串相同,返回 true :否则,返回 false . 数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串. ...
- LeetCode简单题之检查整数及其两倍数是否存在
题目 给你一个整数数组 arr,请你检查是否存在两个整数 N 和 M,满足 N 是 M 的两倍(即,N = 2 * M). 更正式地,检查是否存在两个下标 i 和 j 满足: i != j 0 < ...
- LeetCode简单题之检查数组是否经排序和轮转得到
题目 给你一个数组 nums .nums 的源数组中,所有元素与 nums 相同,但按非递减顺序排列. 如果 nums 能够由源数组轮转若干位置(包括 0 个位置)得到,则返回 true :否则,返回 ...
- LeetCode简单题之检查是否所有字符出现次数相同
题目 给你一个字符串 s ,如果 s 是一个 好 字符串,请你返回 true ,否则请返回 false . 如果 s 中出现过的 所有 字符的出现次数 相同 ,那么我们称字符串 s 是 好 字符串. ...
最新文章
- 有没有办法折叠Eclipse中的所有代码块?
- 第十一周学习总结--助教
- case 语句不跳转,死循环
- jqueryonclick事件_jquery动态移除/增加onclick属性详解
- java打包python到exe文件
- 【测试设计】基于正交法的测试用例设计工具--PICT
- 智能会议系统(24)---linphone-去掉蓝牙功能
- 2021年吉林高考成绩怎么查询,2021年吉林高考成绩查询登录网址入口怎么查 附查询方法...
- linux下如何挂载格式化内存卡,Linux下磁盘挂载格式化
- 左移和右移的运算规则_一文读懂JavaScript位的与、或、异或、取反及左移右移操作...
- AppStore上传已经开发好的App的方法
- torch -index_select()、Pytorch 之修改Tensor部分值、pytorch中Tensor的数据类型
- [洛谷P5431]【模板】乘法逆元2
- 用计算机弹极乐净土谱,原神琴谱极乐净土分享 曲谱怎么弹奏
- 如何通过stm32驱动电源检测芯片cs5463
- 二进制算法问题解析——1000瓶药水,1瓶有毒药,几只小白鼠能够找出?
- 目标跟踪之Pysot系列代码训练(SiamRPN\SiamRPN++)
- 计算机如何安装无线网络适配器,无线网卡驱动怎么安装,教您怎么给电脑安装无线网卡驱动...
- 海康8800实时视频Android客户端集成总结
- 老电脑也要玩tensorflow,解决AVX、SEE、SEE2等报错之路
热门文章
- 2022-2028年中国茶几玻璃行业市场研究及前瞻分析报告
- Linux shell 学习笔记(16)— shell 入门总结
- Go 学习笔记(70)— Go 变量声明、变量初始化、值类型变量赋值、指针类型变量赋值
- NumPy — 创建全零、全1、空、arange 数组,array 对象类型,astype 转换数据类型,数组和标量以及数组之间的运算,NumPy 数组共享内存
- 用男女朋友关系解释计算机常用概念
- 终端(terminal)、tty、shell、控制台(console)、bash之间的区别与联系
- GPU指令集技术分析
- Compiler编译过程
- 推荐系统的个性化排名
- 从单一图像中提取文档图像:ICCV2019论文解读