当前位置: 首页 > news >正文

高台县建设局网站深圳公明做网站

高台县建设局网站,深圳公明做网站,网页设计期末作业代码,黄页推广引流网站这道题我一看就有印象,我室友算法课设抽到这题,他当时有个bug让我帮他看一下,然后我就大概看了一下他的算法,他是用动态规划写的,用了一个二维数组,然后我就试着按照这个思路去写,想了一会还是没…

 这道题我一看就有印象,我室友算法课设抽到这题,他当时有个bug让我帮他看一下,然后我就大概看了一下他的算法,他是用动态规划写的,用了一个二维数组,然后我就试着按照这个思路去写,想了一会还是没有思路,就看题解了:

class Solution {public boolean isMatch(String s, String p) {// .可以代替所有字符,*前面的一个字符可以出现任意次包括0次int m = s.length();int n = p.length();boolean[][] dp = new boolean[m+1][n+1];dp[0][0] = true;for(int i =0; i<=m; i++){for(int j=1;j<=n;j++){if(p.charAt(j-1) == '*'){dp[i][j] = dp[i][j-2];if(match(s, p, i, j-1)){dp[i][j] = dp[i][j] || dp[i-1][j];}}else{if(match(s, p, i, j)){dp[i][j] = dp[i-1][j-1];}}}}return dp[m][n];}public boolean match(String s, String p, int i, int j){if(i == 0){return false;}if(p.charAt(j-1) == '.'){return true;}return s.charAt(i-1) == p.charAt(j-1);}}

dp[i][i]表示s的前i个字符与p的前j个是否匹配,进行状态转移时考虑p的第j个字符:

1,如果第j个字符是一个字母,那么必须在s中匹配一个相同的小写字母。

2,如果第j个字符’ * ‘,那么就可以对p的第j-1个字符匹配任意次数,匹配0次的情况下,dp[i][j] = dp[i-1][j-2];匹配1次的情况下,dp[i][j] = dp[i-2][j-2];匹配2次的情况下,dp[i][j] = dp[i-2][j-2];.......

 所以综合两种情况有:

 matches()是判断两个字符是否匹配的方法,如果字符相同或者模板中的字符是' . '就返回true否则返回false。

dp[0][0] = true,当两个字符是空字符时返回true,最后返回dp[m][n],m是s的长度,n是p的长度。

 

http://www.yayakq.cn/news/990440/

相关文章:

  • 福州免费企业网站建站四川建设网官网app
  • 海关总署2018年海关网站建设成都做app定制
  • 国外好的网站空间十大耐玩手机单机游戏
  • 网站建设负责人证明霍邱县住房和城乡建设局网站
  • 中国有名的网站建设公司淘宝提货网站怎么做的
  • 设计网站作品培训网站开发公司
  • 时尚类网站设计公司高中同步测控优化设计答案
  • 基金会网站开发方案丹徒建设网官方网站
  • 有效的网站推广方式南宁建设信息网站
  • 什么事网站建设二手书交易网站开发背景分析
  • 旅游网站建设技术解决方案无代码网站开发平台
  • 做虾苗网站有哪些流程青岛网站推广招商
  • 网站建设硬件计划创办一个网站的费用
  • 网站设计步骤是什么微信公众号微网站 建设报价表
  • 微信网站跳转链接怎么做中小企业管理软件
  • 销售型网站怎么做的导购网站开发源码
  • 专业类网站浏览器谷歌手机版下载
  • 广东省建设厅官方网站网站制作收费
  • 网站安全认证多少钱嵌入式软件开发前景怎么样
  • 网站建设公司哪家专业wordpress logo不显示
  • 网站设计布局佛山网站优化什么价格
  • 个人网站要备案吗自媒体平台注册
  • 便利店网站建设拓扑图企业购 网站建设
  • 阎良做网站基础建设基金有哪些
  • 无锡网站维护镇江制作网页图片
  • 网站建设与管理的认识网络架构七层作用
  • 免费建站长平台网站如何做一款app需要多少钱
  • 上海做网站设计信息网站开发
  • 构建一个网站什么是做网站
  • 巩义网站建设案件数据wap医院网站建设