装修公司做自己网站wordpress仿站实战
news/
2025/9/23 21:04:14/
文章来源:
装修公司做自己网站,wordpress仿站实战,网站建设问卷,wordpress多站点分别部署模板的#xff1a;
关键思想是#xff1a; 当pattern遇到*时#xff0c;需要考虑两种情况#xff1a; str的当前字符和pattern的*前的字符相同#xff0c;例如str“ab”#xff0c;pattern“abb*”#xff0c;“b”和“b*”相同#xff0c;有两种情况可以选择#xf…模板的
关键思想是 当pattern遇到*时需要考虑两种情况 str的当前字符和pattern的*前的字符相同例如str“ab”pattern“abb*”“b”和“b*”相同有两种情况可以选择 pattern的“b*”发挥作用即去掉str的当前字符即考虑“a”和“abb*”。 //易错不是考虑“a”和“ab”pattern的“b*”不发挥作用即不去掉str的当前字符即考虑“ab”和“ab”。str的当前字符和pattern的*前的字符不同只有一种情况 “ac”和“ab*”的“c”和“b*”不同“b*”不发挥作用即不去掉str的当前字符即考虑“ac”和“a”。 没有遇到*时正常递归 二者的当前字符相同考虑二者的之前的即dp[i][j]dp[i-1][j-1];二者的当前字符不相同直接str不符合patterndp[i][j]false; 此外pattern还有“.”的匹配方式。“.”必须考虑一个字符所以与判断字符相同的过程一样即在上述过程中判断条件中“相同”改成“相同或匹配”即可。 初始化问题 pattern为空字符串全部falsestr为空字符串只有当pattern是【随意一个字符*】或者是任意个【随意一个字符*】的组合时dp为true。程序中的写法比较巧妙。 我的是dp[n2][n1]。
我习惯把pattern放在列n2的for循环放在外面str放在行(n1的for循环放在里面)。
然后对于每一个pattern元素遍历所有str元素。
模板的是dp[n1][n2]对于每一个str元素遍历所有pattern元素。结果都一样。
class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可** * param str string字符串 * param pattern string字符串 * return bool布尔型*/bool match(string str, string pattern) {// write code hereint n1 str.length();int n2 pattern.length();vectorvectorbool dp(n21,vectorbool(n11,false));dp[0][0] true;for(int j 1; j n2; j)if(pattern[j-1] *)dp[j][0] dp[j-2][0];for(int j 1; j n2; j)for(int i 1; i n1; i){if(pattern[j-1] *)if(pattern[j-2] str[i-1] || pattern[j-2] .)dp[j][i] dp[j][i-1] || dp[j-2][i]; //满足其一即可elsedp[j][i] dp[j-2][i];elseif(pattern[j-1] str[i-1] || pattern[j-1] .)dp[j][i] dp[j-1][i-1];}return dp[n2][n1];}
};
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/913880.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!