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

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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2022csp-j初赛试是中国信息学奥林匹克竞赛初级组的试,旨在检验参赛者在计算机科学与技术领域的基础知识和能力。本次试共包括多个测试点,涵盖了计算机编程、算法设计、数据结构等多个方面的内容。 试易程度适中,旨在考察参赛者对编程语言的熟练掌握程度以及对常见算法和数据结构的理解和运用能力。试涉及的内容包括但不限于语法分析、图论、动态规划、排序算法等。 参赛者需要在有限的时间内对试进行理解、分析和解答,需要具备较高的代码编写能力和解决问的能力。试的解答过程需要遵循严谨的逻辑和清晰的表达,对于一些复杂的问,需要提供相应的算法设计和证明过程。 2022csp-j初赛试的设计合理,既考察了参赛者的知识水平,又注重了解决问的能力。通过参与解答试,参赛者能够提高编程能力和算法设计能力,培养自己的分析和解决问的能力。 作为一项重要的计算机竞赛,2022csp-j初赛试为广大计算机爱好者提供了展示自己的机会,也为计算机科学与技术的发展培养了人才。参与此项竞赛的学生可以锻炼自己的思维能力和动手能力,并且在实践中提高自己的编程水平。 总之,2022csp-j初赛试是一项具有挑战性的计算机竞赛,旨在考察参赛者在计算机科学与技术领域的基础知识和能力。通过参与此项竞赛,参赛者可以提高编程和算法设计能力,培养解决问的能力。这对于计算机科学与技术的发展和人才培养都具有积极的意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值