Leetcode-Regular Expression Matching

原创 2015年07月07日 13:04:54

Implement regular expression matching with support for ‘.’ and ‘*’.

‘.’ Matches any single character.
‘*’ Matches zero or more of the preceding element.

The matching should cover the entire input string (not partial).

The function prototype should be:
bool isMatch(const char *s, const char *p)

Some examples:
isMatch(“aa”,”a”) → false
isMatch(“aa”,”aa”) → true
isMatch(“aaa”,”aa”) → false
isMatch(“aa”, “a*”) → true
isMatch(“aa”, “.*”) → true
isMatch(“ab”, “.*”) → true
isMatch(“aab”, “c*a*b”) → true
DP

bool isMatch(string s, string p) {
    int sl=s.length();
    int pl=p.length();

    vector<vector<bool>> dp(pl+1,vector<bool>(sl+1,false));
    dp[0][0]=true;

    for(int i=1;i<=pl;++i)
    {
        dp[i][0]=i-2>=0&&p[i-1]=='*'&&dp[i-2][0];
        for(int j=1;j<=sl;++j)
        {
            if(p[i-1]==s[j-1]||p[i-1]=='.')
            {
                dp[i][j]=dp[i-1][j-1];
            }
            else if(p[i-1]=='*'&&i-2>=0)
            {
                if(dp[i-2][j]||((p[i-2]==s[j-1]||p[i-2]=='.')&&dp[i][j-1]))
                {
                    dp[i][j]=true;
                }
                else 
                {
                    dp[i][j]=false;
                }
            }
            else
            {
                dp[i][j]=false;
            }

        }

    }
    return dp[pl][sl];


    }

【LeetCode010算法/编程练习C++】Regular Expression Matching//挺烦的一条……

10. Regular Expression Matching Total Accepted: 113015 Total Submissions: 481908 Difficulty: ...
  • zmdsjtu
  • zmdsjtu
  • 2016年12月27日 16:09
  • 506

Spring AOP中pointcut expression表达式解析 及匹配多个条件

Spring中事务控制相关配置:                                                                 ...
  • qq_34178998
  • qq_34178998
  • 2017年12月18日 16:17
  • 61

简单的正则表达式匹配 Regular Expression Matching

题目源自于Leetcode。 只需要支持两个匹配符*和.。 '.' Matches any single character. '*' Matches zero or more of the prec...
  • luckyjoy521
  • luckyjoy521
  • 2013年10月13日 22:41
  • 2070

算法设计与分析(7)-- Regular Expression Matching(难度:hard)

Regular Expression Matching
  • alexlau8
  • alexlau8
  • 2017年04月13日 22:14
  • 134

c# 经验谈:巧用Expression表达式 解决类似于sql中 select in 的查询

我们在项目经常会碰到一些特殊需求 例如下拉框是复选的,查询条件是根据下拉框中复选项进行拼接 看到此图后大家肯定会说,这很简单嘛 将所有的选项 拼成“'1-3','5-9'”  然后...
  • aojiancc2
  • aojiancc2
  • 2016年08月13日 11:55
  • 2922

Expression 核心操作符、表达式、操作方法

ExPression操作
  • zhuqinfeng
  • zhuqinfeng
  • 2017年04月14日 11:46
  • 1411

.NET Expression 从零开始一(基本认知):hello world!

对于.NET/Expression编程国内的话并没有过多相关的文献 相对的大多数人对于表达式树的动态编程几乎闻所未闻 至于别人看不看我并不在意    //  Expres...
  • liulilittle
  • liulilittle
  • 2017年06月01日 15:44
  • 345

leetcode 10.Regular Expression Matching(正则表达式匹配) 解题思路和方法

Regular Expression Matching Implement regular expression matching with support for '.' and '*'. ...
  • xygy8860
  • xygy8860
  • 2015年07月05日 16:07
  • 945

正则表达式(Regular Expression)基本语法

一、简介 为什么需要正则表达式? 文本的复杂处理正则表达式的优势和用途? 一种强大而灵活的文本处理工具; 大部分编程语言、数据库、文本编辑器、开发环境都支持正则表达式。正则表达式定义: 正如...
  • scgaliguodong123_
  • scgaliguodong123_
  • 2015年04月29日 22:00
  • 3953

CSS expression属性实现javascript与CSS完美结合

本文向大家描述一下CSS expression属性如何将javascript与CSS结合起来,CSS中使用expression可以把CSS属性和Javas cript表达式关联起来,也就是说CSS属性...
  • gigizhui
  • gigizhui
  • 2015年09月16日 09:58
  • 428
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Leetcode-Regular Expression Matching
举报原因:
原因补充:

(最多只允许输入30个字)