一个比较难的动态规划编程题

Leetcode第10题:

在这里插入图片描述
在这里插入图片描述

求解思路:

考虑到本题具有最优子结构的性质,故而可以考虑使用动态规划的方法求解。

动态规划问题求解需要考虑:
一、状态转移方程
二、动态规划的边界条件

用 f[i][j] 表示s的前i个字符与p的前j个字符匹配。
本题在求解状态转移方程时需要考虑一下三种情况:
1、p的最后一个字符是普通小写字母;
2、p的最后一个字符是“.”;
3、p的最后一个字符是“*”;

显然1和2情况的状态转移方程很容易得出,只需要考虑s[i]是否与p[j]匹配(s[i] = p[j] 或者 p[j] = “.”)。

第2种情况是难点:
https://leetcode-cn.com/problems/regular-expression-matching/solution/zheng-ze-biao-da-shi-pi-pei-by-leetcode-solution/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值