[LintCode] 正则表达式匹配
class Solution {
public:
/**
* @param s: A string
* @param p: A string includes "." and "*"
* @return: A boolean
*/
bool isMatch(const char *s, const char *p) {
// write your code here
int m = strlen(s), n = strlen(p);
vector<vector<bool> > dp(m + , vector<bool> (n + , false));
dp[][] = true;
for (int j = ; j <= n; j++)
dp[][j] = (j > && p[j - ] == '*' && dp[][j - ]);
for (int j = ; j <= n; j++) {
for (int i = ; i <= m; i++) {
if (j > && p[j - ] == '*')
dp[i][j] = dp[i][j - ] || ((s[i - ] == p[j - ] || p[j - ] == '.') && dp[i - ][j]);
else dp[i][j] = dp[i - ][j - ] && (s[i - ] == p[j - ] || p[j - ] == '.');
}
}
return dp[m][n];
}
};
[LintCode] 正则表达式匹配的更多相关文章
- [LeetCode] Regular Expression Matching 正则表达式匹配
Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...
- 正则表达式匹配/data/misc/wifi/wpa_supplicant.conf的WiFi名称与密码
正则表达式匹配/data/misc/wifi/wpa_supplicant.conf的WiFi名称与密码: String regex_name="ssid=\"(.*?)\&quo ...
- 在Visual Studio中使用正则表达式匹配换行和批量替换
系统环境:Windows 8.1 Enterprise Update 2 x64 开发环境:Mircosoft Visual Studio Ultimate 2013 Update 2 RC 问题:如 ...
- .NET正则表达式匹配Silverlight
这是一个.NET正则表达式匹配工具的Silverlight 在页面中加入以下代码就可以了: <"> <param name="source" value ...
- Flex的正则表达式匹配速度与手工代码的比较
flex是一个词法分析器生成器,它是编译器和解释器编程人员的常用工具之一.flex的程序主要由一系列带有指令(称为动作代码)的正则表达式组成.在匹配输入时,flex会将所有的正则表达式翻译成确定性有穷 ...
- Java/Js下使用正则表达式匹配嵌套Html标签
转自:http://www.jb51.net/article/24422.htm 以前写过一篇文章讲解如何使用正则表达式完美解决Html嵌套标签的匹配问题(使用正则表达式匹配嵌套Html标签),但是里 ...
- Java正则表达式匹配例子
Java正则表达式匹配例子 package com.ibm.test; import java.util.regex.Matcher; import java.util.regex.Pattern; ...
- *****正则表达式匹配URL
最近将匹配URL的正则替换了下 之前的是: ((http|ftp|https)://)(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3 ...
- bash 正则表达式匹配,一行文本中 “包含 ABC” 并且 “不包含 XYZ”
bash 正则表达式匹配,一行文本中 “包含 ABC” 并且 “不包含 XYZ” A文件: XXXX ABC XXX4444444444444444XXXX ABC XXX XYZ6666666 ...
随机推荐
- R语言的if-else
语法问题,类似于for函数使用时必须把"{"放在当前行,而不可以独占一行.R的特色. 具体你的这个问题可以尝试 x <- 5 if (x>0){ print(" ...
- Excel小笔记——冻结窗格
excel提供了冻结首行首列功能 但是, 大部分时间我们是希望 冻结多行窗格 方法:选中要冻结多行窗格的下一行,点击视图——冻结拆分窗格
- 百度地图和高德地图坐标系的互相转换 四种Sandcastle方法生成c#.net帮助类帮助文档 文档API生成神器SandCastle使用心得 ASP.NET Core
百度地图和高德地图坐标系的互相转换 GPS.谷歌.百度.高德坐标相互转换 一.在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: 1.WGS-84原始坐标系,一般用国际GPS纪录仪记 ...
- unity, change shader for me and all my children
public void changeShaderForMeAndAllMyChildren(){ Transform[] childrenTransformList = GetComponentsIn ...
- 点滴积累【JS】---JS小功能(onmouseover实现选择月份)
效果: 代码: <head runat="server"> <title></title> <style type="text/ ...
- 170. Rotate List【medium】
Given a list, rotate the list to the right by k places, where k is non-negative. Example Given 1-& ...
- Itunes connect上传应用视频 app preview时遇到“无法载入文件”的问题
总结一下,上传视频的一个经验吧,在使用safari进行上传的时候,有时出现了问题,上传失败,但是提示语只有一句“无法载入文件,请再次尝试”.这样的提示并不能提供更多的信息,为什么视频无法上传.有这样的 ...
- HTML5与XML的区别
XHTML 是 XML 风格的 HTML 4.01. HTML5 是HTML的第五大版本,取代 HTML 4.01. XHTML是基于XML发布的HTML规范,旨在规范HTML的格式. 两者提出的目的 ...
- 对java中hashmap深入理解
1.HashMap的结构是怎样的? 二维结构,第一维是数组,第二维是链表 2.Get方法的流程是怎样的? 先调用Key的hashcode方法拿到对象的hash值,然后用hash值对第一维数组的长度进行 ...
- iOS关于版本更新的问题
// 获取app版本 NSString *app_Version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBun ...