Interleaving String
来源:互联网 发布:迅雷 mac safari提示 编辑:程序博客网 时间:2024/06/08 03:24
Given s1, s2, s3, find whether s3 is formed by the interleaving ofs1 and s2.
For example,
Given:
s1 = "aabcc"
,
s2 = "dbbca"
,
When s3 = "aadbbcbcac"
, return true.
When s3 = "aadbbbaccc"
, return false.
Solution:
class Solution {public: bool isInterleave(string s1, string s2, string s3) { int len1 = s1.length(); int len2 = s2.length(); int len3 = s3.length(); if(len1 + len2 != len3) return false; vector<vector<bool> > dp(len1 + 1, vector<bool>(len2 + 1, false)); dp[0][0] = true; for(int i = 1; i <= len1; ++i) { if(s1[i-1] == s3[i-1]) dp[i][0] = true; else break; } for(int i = 1; i <= len2; ++i) { if(s2[i-1] == s3[i-1]) dp[0][i] = true; else break; } for(int i = 1; i <= len1; ++i) for(int j = 1; j <= len2; ++j) { int k = i + j; if(s1[i-1] == s3[k-1]) dp[i][j] = dp[i][j] || dp[i-1][j]; if(s2[j-1] == s3[k-1]) dp[i][j] = dp[i][j] || dp[i][j-1]; } return dp[len1][len2]; }};
0 0
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Interleaving String
- Ubuntu-14.04 脚本双击不执行解决方法
- 移除节点
- php设置时区和获取当前时间
- 类模版实现动态顺序表
- 十道海量数据处理面试题
- Interleaving String
- Correlation Filter in Visual Tracking系列二:Fast Visual Tracking via Dense Spatio-Temporal Context Lear
- [Java]如何打印一个方法的调用栈?
- CONTEST221 洛谷9月月赛Div.2 -P2420 让我们异或吧
- iOS9中Bitcode的介绍及配置
- 希尔伯特空间
- 及时刷新子窗体
- Spring 表达式语言 (Spring Expression Language) SpEL
- eclipse中svn项目文件显示修改人修改日期设置