标签:string s3 s2 s1 vector 交错 字符串 size
题源:LeetCode
链接:https://leetcode-cn.com/problems/interleaving-string/
这道题目可以考虑使用动态规划去完成
我们可以找到他的状态转移方程:
其中这个p为i+j-1。
代码实现如下:
1 class Solution { 2 public: 3 bool isInterleave(string s1, string s2, string s3) { 4 auto f = vector < vector <int> > (s1.size() + 1, vector <int> (s2.size() + 1, false)); 5 6 int n = s1.size(), m = s2.size(), t = s3.size(); 7 8 if (n + m != t) { 9 return false; 10 } 11 12 f[0][0] = true; 13 for (int i = 0; i <= n; ++i) { 14 for (int j = 0; j <= m; ++j) { 15 int p = i + j - 1; 16 if (i > 0) { 17 f[i][j] |= (f[i - 1][j] && s1[i - 1] == s3[p]); 18 } 19 if (j > 0) { 20 f[i][j] |= (f[i][j - 1] && s2[j - 1] == s3[p]); 21 } 22 } 23 } 24 25 return f[n][m]; 26 } 27 };
标签:string,s3,s2,s1,vector,交错,字符串,size 来源: https://www.cnblogs.com/hosheazhang/p/15129041.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。