Leetcode 3407. Substring Matching Pattern

  • [Leetcode 3407. Substring Matching Pattern](#Leetcode 3407. Substring Matching Pattern)
    • [1. 解题思路](#1. 解题思路)
    • [2. 代码实现](#2. 代码实现)

1. 解题思路

这一题是一道leetcode easy的题目,照说应该没啥的,不过实际我做的时候在这里卡了一下,所以还是拿过来稍微记录一下好了。

这道题核心还是字符串的匹配,不过麻烦的点在于*符号可以替换一个或多个字符,然后剩下的部分又会是连续的,因此这里相当于是一个另类的lcs匹配问题。

我最后给的解答还是比较暴力的,就是先按照*将pattern字符串p进行切分,然后顺序考察其中的每一个非空子串是否可以顺序在原始字符串s当中找到。

2. 代码实现

给出python代码实现如下:

python 复制代码
class Solution:
    def hasMatch(self, s: str, p: str) -> bool:
        p = p.strip("*").split("*")
        i, n = 0, len(s)
        for sub in p:
            if sub == "":
                continue
            while i < n and not s[i:].startswith(sub):
                i += 1
            if i >= n:
                return False
            i += len(sub)
        return True

提交代码评测得到:耗时0ms,占用内存17.7MB。

相关推荐
灰色小旋风4 分钟前
力扣 12 整数转罗马数字 C++
开发语言·c++·leetcode
8Qi85 分钟前
环形链表刷题笔记(LeetCode热题100--141、142)
c语言·数据结构·c++·算法·leetcode·链表
滴滴答滴答答10 分钟前
机考刷题之 13 LeetCode 1004 最大连续1的个数 III
java·算法·leetcode
一叶落43812 分钟前
139. 单词拆分(Word Break)
c语言·数据结构·算法·leetcode·深度优先·图论
逆境不可逃13 分钟前
【从零入门23种设计模式17】行为型之中介者模式
java·leetcode·microsoft·设计模式·职场和发展·中介者模式
8Qi836 分钟前
LeetCode热题100--189
c语言·数据结构·c++·算法·leetcode
灰色小旋风36 分钟前
力扣第八题C++ 字符串转换整数
c++·算法·leetcode
@––––––38 分钟前
力扣hot100—系列9—图论
算法·leetcode·图论
灰色小旋风40 分钟前
力扣第十题C++正则表达式匹配
c++·leetcode·正则表达式
Flying pigs~~42 分钟前
我的leetcode hot100之行(持续更新)
数据结构·算法·leetcode