📣 VIP通行证夏日特惠 限时立减$68
12
返回列表 发新帖
楼主: Linzertorte
跳转到指定楼层
上一主题 下一主题
收起左侧

[Leetcode]花半年解决Wildcard Matching 而且还是用Python另附完整Java

🔗
pyemma 2014-7-11 18:06:07 | 只看该作者
全局:
Linzertorte 发表于 2014-7-11 12:37
这倒也是。计算next指针的时候比如p==?或者p==s[j]都算是匹配成功。

是的
回复

使用道具 举报

🔗
pyemma 2014-7-11 18:06:42 | 只看该作者
全局:
Linzertorte 发表于 2014-7-11 12:37
这倒也是。计算next指针的时候比如p==?或者p==s[j]都算是匹配成功。

不过我还是被python的超短code惊异到了,我用Java足足写了100行!
回复

使用道具 举报

🔗
austurela 2014-10-22 11:01:45 | 只看该作者
全局:
这题是LC最难过的一道了 谢谢lz分享!
回复

使用道具 举报

🔗
austurela 2014-10-22 11:27:04 | 只看该作者
全局:
仔细看了,真是相当nb的解法!
回复

使用道具 举报

🔗
AndyLiu0429 2014-12-17 22:02:09 | 只看该作者
全局:
本帖最后由 AndyLiu0429 于 2014-12-17 22:03 编辑

当时做regular 匹配的时候TLE,我直接把pattern 缩减了下。。举例,'aaa*' -> 'aa*'(匹配的字符串是一样的,后者表达能力更强。。)
做这道题参考了Yu 的思路,记录*的思路实在太漂亮了。
AC过了,我的代码:
    def isMatch(self, s, p):
        len_s, len_p = len(s), len(p)
        pPointer=sPointer=0
        star = -1
        while sPointer < len_s:
            if pPointer >= len_p:
                if star != -1:
                    sPointer, pPointer = star
                    sPointer +=1
                    continue
                else:
                    return False
            if p[pPointer] == "?" or p[pPointer]==s[sPointer]:
                pPointer+=1
                sPointer+=1
            elif p[pPointer] == '*':
                star = (sPointer,pPointer)
                pPointer+=1
            else:
                if star != -1:
                    sPointer, pPointer = star
                    sPointer +=1
                else:
                    return False

        if pPointer < len_p:
            while pPointer < len_p and p[pPointer]=='*':
                pPointer+=1

        return True if pPointer == len_p else False

回复

使用道具 举报

🔗
miss_snow 2014-12-18 07:56:28 | 只看该作者
全局:
怎么感觉像是AC自动机?
回复

使用道具 举报

🔗
 楼主| Linzertorte 2015-1-31 00:38:54 | 只看该作者
全局:
austurela 发表于 2014-10-22 11:01
这题是LC最难过的一道了 谢谢lz分享!

一般一般。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表