Re: [闲聊] 每日leetcode

楼主: JIWP (JIWP)   2024-10-06 17:53:15
1813. Sentence Similarity III
给两个sentence,sentence里每个单字是由1个空格隔开的
请问是否可以借由往其中一个sentence中插入一个新的sentence
使2个sentence相同
可以回传true
反之false
思路:
假设s1单字数比s2少
那么有3种情况可以达成题目所需
假设新的sentence为s3
(1)s1 + s3=s2
(2)s3 + s1=s2
(3)s1_1 + s3 +s1_2 = s2 其中 s1_1 + s1_2=s1
上述3种情况可以得出一个结论
s1的开头或结尾的单字会跟s2重叠
所以我们就从s1、s2第一个单字跟最后一个单字
去比对相同的数目
如果相同的数量 >= s1的单字数
就回传true
反之回传false
golang code :
func areSentencesSimilar(sentence1 string, sentence2 string) bool {
s1 := strings.Split(sentence1, " ")
s2 := strings.Split(sentence2, " ")
if len(s1) > len(s2) {
s1, s2 = s2, s1
}
n,m := len(s1),len(s2)
start, end := 0, 0
for start < n && s1[start] == s2[start] {
start++
}
for n-1-end > -1 && s1[n-1-end] == s2[m-1-end] {
end++
}
return end+start >= n
}
作者: oin1104 (是oin的说)   2024-10-06 17:54:00
我好崇拜你
作者: EliteCaterpi (さくらみこ的绿毛虫)   2024-10-06 17:55:00
什么时候要送芋圆模型?
作者: sustainer123 (caster)   2024-10-06 17:56:00
大师
作者: PogChampLUL (火车站肥宅)   2024-10-06 17:58:00
大师
作者: Sougou (搜狗)   2024-10-06 18:02:00
大师
作者: dont   2024-10-06 18:04:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com