菜鸡每日一题系列打卡97天
每天一道算法题目
小伙伴们一起留言打卡
坚持就是胜利,我们一起努力!
题目描述(引自LeetCode)
给定三个字符串s1,s2,s3,验证s3是否是由s1和s2交错组成的。
示例 1:
输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"
输出: true
示例 2:
输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"
输出: false
题目分析
这是一道典型的回溯的题目,也是一道典型的动态规划的题目。
为了给小伙伴们提供更多思路,菜鸡将采用上述两种方式进行实现,但由于回溯法的时间复杂度太高,导致leetcode测试集会出现超时的情况,虽然可以用记忆化回溯的方式进行优化,但并没有实际降低其时间复杂度,因此,菜鸡推荐采用效果更好的动态规划解法