【LeetCode】剑指 Offer 19. 正则表达式匹配
【LeetCode】剑指 Offer 19. 正则表达式匹配
文章目录
- 【LeetCode】剑指 Offer 19. 正则表达式匹配
package offer;public class Solution19 {public static void main(String[] args) {String s = "aab";String p = "c*a*b";Solution19 solution = new Solution19();System.out.println(solution.method(s, p));}private boolean method(String s, String p){int m = s.length() + 1;int n = p.length() + 1;boolean[][] dp = new boolean[m][n];dp[0][0] = true;for(int i = 2; i < n; i += 2){dp[0][i] = dp[0][i-2] && p.charAt(i-1) == '*';}for(int i = 1; i < m; i++){for(int j = 1; j < n; j++){if(p.charAt(j-1) == '*'){if(dp[i][j-2]) dp[i][j] = true;else if(dp[i-1][j] && s.charAt(i-1) == p.charAt(j-2)) dp[i][j] = true;else if(dp[i-1][j] && p.charAt(j-2) == '.') dp[i][j] = true;}else if(dp[i-1][j-1]){if(s.charAt(i-1) == p.charAt(j-1)) dp[i][j] = true;else if(p.charAt(j-1) == '.') dp[i][j] = true;}}}return dp[m-1][n-1];}
}//时间复杂度为 O(n^2)
//空间复杂度为 O(n^2)
【LeetCode】剑指 Offer 19. 正则表达式匹配相关推荐
- 剑指 Offer 19. 正则表达式匹配 regex_match() regex()
一. 题目: 剑指 Offer 19. 正则表达式匹配 请实现一个函数用来匹配包含'. '和''的正则表达式.模式中的字符'.'表示任意一个字符,而''表示它前面的字符可以出现任意次(含0次).在本题 ...
- 剑指 Offer 19. 正则表达式匹配
剑指 Offer 19. 正则表达式匹配 https://leetcode-cn.com/problems/zheng-ze-biao-da-shi-pi-pei-lcof/ 请实现一个函数用来匹配包 ...
- 【LeetCode笔记】剑指Offer 19. 正则表达式匹配(Java、动态规划)
文章目录 题目描述 思路 && 代码 二刷 打卡第十二天- 题目描述 拖了超级久的一道题= =,懒得看正则表达式,但是其实和正则表达式相关的地方也不多 思路 && 代码 ...
- 剑指offer:正则表达式匹配
题目描述 请实现一个函数用来匹配包括'.'和''的正则表达式.模式中的字符'.'表示任意一个字符,而''表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式.例 ...
- 剑指offer之正则表达式匹配
题目 请实现一个函数用来匹配包括.和*的正则表达式.模式中的字符.表示任意一个字符,而*表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式.例如,字符串aaa ...
- leetcode 打印_剑指 Offer 总结 - leetcode 剑指offer系列
剑指 Offer 系列完结撒花!! 本篇文章是对整个系列的精华总结, 对系列的每篇文章进行了分类, 并用一句话概括每道题的思路, 方便大家理解和记忆, 当然也包含原文完整链接供大家参考 总的来说, 写 ...
- 【LeetCode 剑指offer刷题】树题19:8 二叉树中序遍历的下一个结点
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 8 二叉树中序遍历的下一个结点 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注 ...
- 【LeetCode 剑指offer刷题】数组题2:57 有序数组中和为s的两个数(167 Two Sum II - Input array is sorted)...
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 57 有序数组中和为s的两个数 题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是 ...
- 【LeetCode 剑指offer刷题】矩阵题1:4 有序矩阵中的查找( 74. Search a 2D Matrix )(系列)...
[LeetCode & 剑指offer 刷题笔记]目录(持续更新中...) 74. Search a 2D Matrix Write an efficient algorithm that s ...
最新文章
- iptables 工具的使用
- 在oracle备份数据库,Oracle在A机器上备份了数据库,到B机器上恢复时,怎么进行下去?...
- Android和IOS 调用 支付宝和微信 支付方法
- 记录一次centos的双网卡绑定
- 1107: 回文数猜想(函数专题)
- 02: DOM 实例
- 在ASP.NET Atlas中调用Web Service——介绍及简单应用
- matlab无法识别VS编译器的办法
- 简单的社区管理系统(Qt)
- 大学计算机基础教学存在的问题,浅谈大学计算机基础教学存在的问题及改进思路_优秀论文...
- ThinkPHP6项目基操目录
- cocos2d - 触摸事件
- 工具及方法 - 斗地主技巧
- chrome绿色版制作方法
- JAVA-面向过程编程
- 清除浮动的常用的几种方法
- 计算机综述性论文范文例文,综述性论文范文例文(综述论文范文模板例文)
- 这十一个副业在家就可以完成,疫情在家也有收入,建议收藏
- 使用excel画数据曲线
- 基于STM32F103C8T6四路AD采集数据显示在oled屏上非DMA传输方式(附百度网盘下载链接)
热门文章
- php 查看引入文件,include - 引入文件
- kafka分区与分组原理_Kafka工作原理
- python googletrans_Python使用googletrans报错的解决方法
- oracle12c清理游标,Oracle专题12之游标
- Django day17 博客项目(一)
- 27、ArrayList和LinkedList的区别
- jQuery操作Table学习总结(转)
- java 试题 历届试题 单词分析 题解
- Android基于Glide的二次封装,借鉴Glide思想二次封装Fresco
- oracle 10修改字符集,Oracle 10g修改数据库字符集