博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode_44
阅读量:5020 次
发布时间:2019-06-12

本文共 947 字,大约阅读时间需要 3 分钟。

"""@href: https://leetcode.com/problems/wildcard-matching/description/@title: 44. Wildcard Matching"""class Solution(object):    def isMatch(self, s, p):        """        :type s: str        :type p: str        :rtype: bool        """                ls, lp = len(s), len(p)        if (ls + lp) == 0:            return True        s, p  = 'a' + s, 'a' + p        ls, lp = ls+1, lp+1         dp = [[False]*(lp+1) for i in range(0, ls+1)]         dp[0][0] = True                for i in range(1, ls+1):            for j in range(1, lp+1):                if p[j-1] == s[i-1] or p[j-1] in '?*':                    dp[i][j] = dp[i-1][j-1]                    if p[j-1] == '*':                        dp[i][j] = dp[i][j] or dp[i-1][j] or dp[i][j-1]                else:                    if p[j-1] == '*':                        dp[i][j] = dp[i][j-1]        return dp[ls][lp]

      我用的是二维 dp, 有人给出了 一维 dp 解法

 

转载于:https://www.cnblogs.com/tmortred/p/8038874.html

你可能感兴趣的文章
HIVE中的order by操作
查看>>
Centos下新建用户及修改用户目录
查看>>
iOS开发IPhone以及iPad尺寸汇总
查看>>
Spring Boot RestTemplate文件上传
查看>>
myBatis自动生成mapping,dao和model
查看>>
Android Serivce 高级篇AIDL讲解
查看>>
SpringBoot学习笔记(2):引入Spring Security
查看>>
图片加水印 PDF取缩略图
查看>>
bzoj 4180: 字符串计数
查看>>
安卓--布局设计-计算器
查看>>
Java重写《C经典100题》 --27
查看>>
ABP中的拦截器之EntityHistoryInterceptor
查看>>
【oracle】oracle数据库建立序列、使用序列实现主键自增
查看>>
使用SQLiteDatabase操作SQLite数据库第二种方法
查看>>
vue,一路走来(12)--父与子之间传参
查看>>
实现交换两个变量值的第二种方法
查看>>
英语单词学习备忘转载
查看>>
【C++】单例模式详解
查看>>
文本框根据关键字异步搜索内容
查看>>
SQLServer 基本语法
查看>>