给定s1,s2,s3,发现是否通过s1和s2的交错形成s3。
来源:互联网 发布:什么商品淘宝禁止出售 编辑:程序博客网 时间:2024/05/23 16:54
本题源自LeetCode
-------------------------------------------------------------------
例如
s1 ="aabcc",
s2 ="dbbca",
When s3 ="aadbbcbcac", return true.
When s3 ="aadbbbaccc", return false.
转自大佬的思路:动态规划。http://www.jianshu.com/p/1e991930e44f
自己做了实现:
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)); dp[0][0]=true; for(int i=1;i<=len1;i++){ dp[i][0]=dp[i-1][0]&&s1[i-1]==s3[i-1]; } for(int j=1;j<=len2;j++) dp[0][j]=dp[0][j-1]&&s2[j-1]==s3[j-1]; for(int i=1;i<=len1;i++){ for(int j=1;j<=len2;j++){ dp[i][j]=dp[i-1][j]&&s1[i-1]==s3[i-1+j] || dp[i][j-1]&&s2[j-1]==s3[i+j-1]; } } return dp[len1][len2]; }
阅读全文
0 0
- 给定s1,s2,s3,发现是否通过s1和s2的交错形成s3。
- 三个字符串s1, s2, s3, 现要求你判断s3是否由s1和s2交错组成的
- 判断s3字符串是否由s1和s2交错组成
- S1 S2 S3 S4 S5
- 交叉字符串 给出三个字符串:s1、s2、s3,判断s3是否由s1和s2交叉构成。
- String s1="abc"; s2="abc" s3= new String("abc")为啥s1和s2的地址值一样而s1和s3的就不一样呢?
- 电源的S1,S2,S3,S4,S5的含义
- 电源选项中S1,S2,S3,S4,S5的含义
- 算法检索一组数据是否存在s1<s3<s2的情况
- 编译不可通过?short s1 = 1;short s2 = 2;short s3 = s1 + s2; why??
- 电源选项中的S1,S2,S3,S4,S5
- 将s1,s2连接起来放到s3中
- ACPI电源管理中的S0 S1 S2 S3 S4 S5
- ACPI电源管理中的S0 S1 S2 S3 S4 S5
- ACPI电源管理中的S0 S1 S2 S3 S4 S5
- 数组的创建 简写,NSArray *arrayX = @[s1, s2, s3] .可变数组不可用.
- String s1 ; String s2=null ; String s3=”” ; String s4=new String(“”) ; 的区别。
- 面试8之给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成
- Density-Based Spatial Clustering of Applications with Noise(DBSCAN密度聚类)
- 算法第六次作业
- 瞎忙活搞GayHub Pages博客
- (算法分析Week6)Longest Palindromic Substring[Medium]
- 阿里发布的规约插件,细节都在这里!!!
- 给定s1,s2,s3,发现是否通过s1和s2的交错形成s3。
- 16-面向对象(static关键字-什么时候用) 面向对象-Static难点 18-面向对象(构造代码块).(静态代码块)
- canvas 实现刮刮乐
- 广播与广播接受者简述
- 变量的声明与使用(常见的基础数据类型),运算符
- buntu vi 上下左右变ABCD问题
- 创立达摩院,马云是想当武林盟主吗?
- tvyj 1313(单调队列优化dp)
- 02-面向对象(数组工具类中静态的使用