[LeetCode]97. Interleaving String
来源:互联网 发布:ubuntu怎么移动文件夹 编辑:程序博客网 时间:2024/06/05 16:53
[LeetCode]97. Interleaving String
题目描述
思路
动态规划
以给出的样例为例
s1 = “aabcc”
s2 = “dbbca”
s3 = “aadbbcbcac”
dp数组的状态与他的前面的状态有关,前面的状态表示为上述表格中当前位置的左方或者上方,当前一位置为1时,表示到当前位置是满足的,可以生成当前的字符串,在下一位置时,就需要比较s3的对应位置是否和s1或者s2的对应位置相等
代码
#include <iostream>#include <vector>#include <string>using namespace std;class Solution {public: bool isInterleave(string s1, string s2, string s3) { if (s1.size() + s2.size() != s3.size()) return false; vector<vector<int>> dp(s2.size() + 1, vector<int>(s1.size() + 1)); for (int i = 0; i < s2.size() + 1; ++i) { for (int j = 0; j < s1.size() + 1; ++j) { if (i == 0 && j == 0) dp[i][j] = 1; else if (i == 0 && j) dp[i][j] = dp[i][j - 1] && s1[j - 1] == s3[i + j - 1]; else if (i && j == 0) dp[i][j] = dp[i - 1][j] && s2[i - 1] == s3[i + j - 1]; else dp[i][j] = (dp[i][j - 1] && s1[j - 1] == s3[i + j - 1]) || (dp[i - 1][j] && s2[i - 1] == s3[i + j - 1]); } } return dp[s2.size()][s1.size()]; }};int main() { Solution s; cout << s.isInterleave("aabcc", "dbbca", "aadbbbaccc") << endl; system("pause"); return 0;}
0 0
- LeetCode 97. Interleaving String
- [LeetCode]97.Interleaving String
- [Leetcode] 97. Interleaving String
- LeetCode --- 97. Interleaving String
- [leetcode] 97.Interleaving String
- [leetcode] 97.Interleaving String
- leetcode 97. Interleaving String
- Leetcode - 97.Interleaving String
- leetcode 97. Interleaving String
- LeetCode 97. Interleaving String
- LeetCode 97. Interleaving String
- Leetcode:97. Interleaving String
- Leetcode 97. Interleaving String
- [leetcode] 97. Interleaving String
- LeetCode-97.Interleaving String
- [LeetCode] 97. Interleaving String
- leetcode 97.Interleaving String
- 97. Interleaving String ,leetcode
- day75_babaSport第一天
- SpringBoot的DeferredResult实例:一、理解Spring的Callable 和DeferredResult
- 学习 Vue.js 第一发【 todo list (IMWeb训练营作业)】
- 大数据课程培训大纲及详细说明(全)
- Java构造方法的相互调用
- [LeetCode]97. Interleaving String
- spring security 自定义filter参考资料
- 博客什么的写也就写了
- tpshop授权如何判断
- LeetCode 4. Median of Two Sorted Arrays
- PHP函数详解:call_user_func()使用方法
- Delphi XE6,C++ Builder XE6,RAD Studio XE6 v20.0.16277.1276(With Update 1) 官方下载激活
- Shell Cheatsheet
- 面向对象:ATM Use Case 及用况图文档