97. Interleaving String
problem description
Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2.
Example 1:
Example 2:
algorithm thought
字符串问题,这题其实和最长公共子串问题很像,使用二维数组保存结果,动态规划解决问题。
状态转移方程得出:对于aabcc和dbbca匹配aadbbcbcac问题。我们只需要找到 c==c?以及aabc和dbbca是否匹配aadbbcbca,或者是a==c?以及aabcc和dbbc是否匹配aadbbcbca。上面两中情况任何一种成立,这里的匹配都可以算成功。所以这里动态规划保存之前的结果,这次匹配使用前面的结果解决问题。
code
algorithm analysis
设是s1长m,s2长n,会遍历一个m*n的二维数组,最后时间复杂度O(m*n)
Last updated