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。

相关推荐
Wenhao.3 小时前
LeetCode Hot100 腐烂的橘子
算法·leetcode·职场和发展
Rock_yzh4 小时前
LeetCode算法刷题——560. 和为 K 的子数组
数据结构·c++·学习·算法·leetcode·职场和发展·哈希算法
nju_spy4 小时前
力扣每日一题(11.10-11.29)0-1 和 k 整除系列
python·算法·leetcode·前缀和·单调栈·最大公约数·0-1背包
做怪小疯子6 小时前
LeetCode 热题 100——二叉树——翻转二叉树
算法·leetcode·职场和发展
做怪小疯子7 小时前
LeetCode 热题 100——二叉树——二叉树的最大深度
算法·leetcode·职场和发展
Maỿbe7 小时前
暴打力扣之优先级队列(堆)
算法·leetcode·职场和发展
Swift社区7 小时前
LeetCode 438 - 找到字符串中所有字母异位词
算法·leetcode·职场和发展
学学学无无止境7 小时前
力扣-位1的个数
leetcode
别学LeetCode7 小时前
#leetcode# 1
leetcode
sheeta19987 小时前
LeetCode 每日一题笔记 日期:2025.11.30 题目:1590.使数组和能被 P 整除
笔记·算法·leetcode