动态规划(4)交替字符串
来源:互联网 发布:美工图片 编辑:程序博客网 时间:2024/06/05 01:01
题目描述:
输入三个字符串s1,s2,s3,判断第3个字符串是否由前两个字符串s1和s2错而成且不改变s1和s2中各个字符的原有的相对顺序。
思路:
动态规划求解本题。
令dp[i][j]表示s3[i+j-1]是否有s1[0,…,i-1]和s2[0,…,j-1]的字符组成。
//测试通不过,没搞懂原因,望大神指教bool IsInterleave(string s1,string s2,string s3){ int n = s1.length(); int m = s2.length(); int s = s3.length(); for (n + m != s) { return false; } int dp[n+1][m+1]//linux下可以 dp[0][0] = 0; for (int i = 0;i < n+1;i++) { for (int j = 0;j < m+1;j++) { if (dp[i][j] || (i-1 >= 0 && dp[i-1][j] == true && s1[i-1] == s3[i+j-1]) || (j-1 >= 0 && dp[i][j-1] == true && s2[j-1] == s3[i+j-1])) dp[i][j] = true; else dp[i][j] = false; } } return dp[n][m];}
0 0
- 动态规划(4)交替字符串
- 【字符串动态规划】最长回文字串+交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 交替字符串
- 合法字符串 【动态规划】
- 字符串计数(动态规划)
- 回文字符串-动态规划
- 动态规划--字符串拆分
- 动态规划--字符串拆分
- C++ 语法:C++变量声明和定义的区别
- 最小生成树和prim算法
- linux内核input子系统解析
- 【UVALive】2037 - Digital Rivers(找规律,暴力)
- Windows下 tuxedo 安装及测试
- 动态规划(4)交替字符串
- C++ vector 实现
- hdu 5175 Misaki's Kiss again(数论)
- 375. Guess Number Higher or Lower II
- scrapy抓取动态页面方法
- windows中运行qt5构建的程序提示 无法启动此程序,因为计算机中丢失qt5Cored.dll 解决方法
- MySQL 模糊查询
- AssistiveTouch热键按钮
- 分水岭算法分割图像的原理概述及OpenCV代码实现