1class Solution:2def shortestCommonSupersequence(self, A, B):3n, m = len(A), len(B)4dp = [B[:i] for i in range(m + 1)]5for i in range(n):6prev = A[:i]7dp[0] = A[: i + 1]8for j in range(m):9if A[i] == B[j]:10prev, dp[j + 1] = dp[j + 1], prev + A[i]11else:12prev, dp[j + 1] = dp[j + 1], min(13dp[j] + B[j], dp[j + 1] + A[i], key=len14)15return dp[-1]