leetcode-dp
文章平均质量分 75
varcom
这个作者很懒,什么都没留下…
展开
-
10. Regular Expression Matching
首先将匹配字符分成4个部分 [,] [.*],[字母+*],[字母] bool dp[1000][1000]; class Solution { public: bool isMatch(string s, string p) { memset(dp,0,sizeof(dp)); int n=s.size(),m=p.size(); v原创 2016-09-09 15:24:17 · 147 阅读 · 0 评论 -
44. Wildcard Matching
动态规划 bool dp[100000]; bool rp[100000]; class Solution { public: bool isMatch(string s, string p) { int m=p.size(),n=s.size(); int i,j; memset(dp, 0, sizeof(dp)); m原创 2016-09-13 23:04:18 · 201 阅读 · 0 评论 -
87. Scramble String
字符串分解成两颗子树,子树的长度任意,所有可以用递归 class Solution { public: bool isScramble(string s1, string s2) { int n=s1.size(); int m=s2.size(); int i; if(n!=m) retu原创 2016-09-15 11:42:26 · 297 阅读 · 0 评论 -
91. Decode Ways
没有前导0的情况,如果有连续两个0,则没有组合 int dp[100000]; class Solution { public: int numDecodings(string s) { int n=s.size(); if(n==0||s[0]=='0') return 0; dp[1]=1; dp原创 2016-09-15 12:47:21 · 299 阅读 · 0 评论 -
97. Interleaving String
动态规划 bool dp[2][1000][1000]; class Solution { public: bool isInterleave(string s1, string s2, string s3) { int n=s1.size(),m=s2.size(),l=s3.size(); int i,j,k; if(n+m!=l)原创 2016-09-15 13:19:01 · 192 阅读 · 0 评论 -
115. Distinct Subsequences
dp int dp[2][100000]; class Solution { public: int numDistinct(string s, string t) { int n=s.size(),m=t.size(); int i,j; memset(dp,0,sizeof(dp)); if(m>n)原创 2016-09-15 15:09:37 · 170 阅读 · 0 评论