Java剑指 Offer II 096. 字符串交织(效率低但是比较容易理解)
题目:
给定三个字符串 s1、s2、s3,请判断 s3 能不能由 s1 和 s2 交织(交错) 组成。
两个字符串 s 和 t 交织 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:
s = s1 + s2 + ... + sn t = t1 + t2 + ... + tm |n - m| <= 1 交织 是 s1 + t1 + s2 + t2 + s3 + t3 + ... 或者 t1 + s1 + t2 + s2 + t3 + s3 + ... 提示:a + b 意味着字符串 a 和 b 连接。
示例 :
输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"
输出:true
思路:
这题是真有点烦,你觉得你搞明白了动态规划吧,又好像没搞明白。我这个已经是比较好懂的版本的,不能追求效率了
见代码及注释
复杂度:
时间:双重循环O(m*n)。
空间:dp二维数组空间O(m*n)。
代码:
public boolean isInt
共有 0 条评论