leetcode: Interleaving String
来源:互联网 发布:琪琪影院软件下载 编辑:程序博客网 时间:2024/06/06 01:16
Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2.
For example,
Given:
s1 = "aabcc"
,
s2 = "dbbca"
,
When s3 = "aadbbcbcac"
, return true.
When s3 = "aadbbbaccc"
, return false.
class Solution { public: bool isInterleave(string s1, string s2, string s3) { if (s1.size()+s2.size() != s3.size()) return false; vector<vector<bool> > dp(s1.size()+1, vector<bool>(s2.size()+1)); for (int i=1; i<=s1.size(); i++) { for (int j=1; j<s2.size(); j++) { dp[i][j] = false; } } /* * remember, s1.size()+s2.size() == s3.size() * so when both s1 and s2 is null, s3 is null too * so dp[0][0] = true; */ dp[0][0] = true; // only s1 composes s3, s2 does not take part in for (int i=1; i<=s1.size(); i++) { if (s1[i-1] == s3[i-1]) dp[i][0] = true; } // only s2 composes s3, s1 does not take part in for (int j=1; j<=s2.size(); j++) { if (s2[j-1] == s3[j-1]) dp[0][j] = true; } for (int i=1; i<=s1.size(); i++) { for (int j=1; j<=s2.size(); j++) { if (dp[i-1][j]) // i-1 element in s1 and j element in s2 compose s3 { if (s1[i-1] == s3[i+j-1]) { dp[i][j] = true; continue; } } if (dp[i][j-1]) // i element in s1 and j-1 element in s2 compose s3 { if (s2[j-1] == s3[i+j-1]) { dp[i][j] = true; continue; } } } } return dp[s1.size()][s2.size()]; }};
0 0
- LeetCode: Interleaving String
- LeetCode Interleaving String
- LeetCode: Interleaving String
- [Leetcode] Interleaving String
- [LeetCode] Interleaving String
- leetcode 68: Interleaving String
- [Leetcode] Interleaving String
- LeetCode - Interleaving String
- [LeetCode]Interleaving String
- LeetCode: Interleaving String
- Leetcode: Interleaving String
- [Leetcode]Interleaving String
- Leetcode: Interleaving String
- LeetCode:Interleaving String
- LeetCode-Interleaving String
- [leetcode] Interleaving String@DP
- LeetCode:Interleaving String
- LeetCode - Interleaving String
- 【深入浅出ios开发】使用代理进行传值
- kruskal算法
- XSS跨站脚本攻击(一)
- 关于QPluginLoader的加载和卸载
- 向量空间模型——计算文本(英文)相似度
- leetcode: Interleaving String
- iOS图像拉伸,stretchableImageWithLeftCapWidth:topCapHeight:
- [游戏]传染病CONTAGION
- Leetcode:3Sum Closest
- MyBatis3整合Spring3的Transaction事务处理
- poj3468 树状数组解法(树状数组维护区间更新)
- 【知乎】2014年放弃阿里巴巴 offer 的人为什么格外多?
- 循环赛日程表java写
- RootSudo