***Leetcode 87. Scramble String
来源:互联网 发布:淘宝饰品店怎么开 编辑:程序博客网 时间:2024/05/21 20:26
参考后, 没做出来
class Solution {public: bool isScramble(string s1, string s2) { vector<int> v(127); size_t n = s1.size(); if (n == 1) return s1[0] == s2[0]; for (size_t i = 0; i != n; ++i) { ++v[s1[i]]; --v[s2[i]]; } for (size_t i = 0; i != n; ++i) { if (v[s1[i]] != 0) return false; } for (size_t i = 1; i != n; ++i) { if (isScramble(s1.substr(0, i), s2.substr(0, i)) && isScramble(s1.substr(i, n - i), s2.substr(i, n - i))) return true; if (isScramble(s1.substr(0, i), s2.substr(n - i, i)) && isScramble(s1.substr(i, n - i), s2.substr(0, n - i))) return true; } return false; }};
class Solution {public: bool isScramble(string s1, string s2) { size_t n = s1.size(); if (n != s2.size()) return false; vector<vector<vector<int> > > flag(n, vector<vector<int> >(n, vector<int>(n + 1))); for (size_t i = 0; i != n; ++i) { for (size_t j = 0; j != n; ++j) { if (s1[i] == s2[j]) flag[i][j][1] = 1; } } for (size_t len = 2; len <= n; ++len) { for (size_t i = 0; i != n; ++i){ for (size_t j = 0; j != n; ++j) { if (max(j, i) + len <= n) { for (size_t k = 1; k != len; ++k) { flag[i][j][len] = flag[i][j][len] || (flag[i][j + len - k][k] && flag[i + k][j][len - k]); flag[i][j][len] = flag[i][j][len] || (flag[i][j][k] && flag[i + k][j + k][len - k]); } } } } } return flag[0][0][n]; }};
阅读全文
0 0
- LeetCode 87. Scramble String
- [Leetcode] 87. Scramble String
- LeetCode --- 87. Scramble String
- [leetcode] 87.Scramble String
- Leetcode 87. Scramble String
- Leetcode 87. Scramble String
- Leetcode:87. Scramble String
- leetcode.87. Scramble String
- Leetcode 87. Scramble String
- [LeetCode] 87. Scramble String
- leetcode-87. Scramble String
- [LeetCode]87. Scramble String
- [LeetCode]87.Scramble String
- [LeetCode] 87. Scramble String
- 【LeetCode】87. Scramble String
- [LeetCode]87. Scramble String
- [leetcode] 87. Scramble String
- Leetcode 87. Scramble String
- 关于Bandicam使用心得
- 2017.12.20
- 12周作业
- 模拟量视图
- 学习笔记:SIFT算法
- ***Leetcode 87. Scramble String
- matplotlib : axes.scatter
- 使用 Git 管理多个 SSH-Key 的方法
- SQL RIGHT JOIN
- 【12月20日】LeetCode刷题日志(四):Min Cost Climbing Stairs
- spring 实现邮箱发送
- java.net.SocketException: Unrecognized Windows Sockets error: 10106: create
- POST GET区别整理
- 深入理解Scala中的函数式编程