Given strings S and T, find the minimum (contiguous) substring W of S, so that T is a subsequence of W.
If there is no such window in S that covers all characters in T, return the empty string “”. If there are multiple such minimum-length windows, return the one with the left-most starting index.
Example 1:
Input:
S = “abcdebdde”, T = “bde”
Output: “bcde”
Explanation:
“bcde” is the answer because it occurs before “bdde” which has the same length.
“deb” is not a smaller window because the elements of T in the window must occur in order.
解析:
字符串问题,又是hard,大部分都是dp问题,两个字符串问题,一般是二维数组的dp
为了求出最小window,要知道startIndex,和长度两个必备条件,dp里只能存一个,那就存startIndex吧,最小长度可以计算得出
State:(dp一定要清楚d[i][j]代表什么)
d[i][j]=index, T[0…j] 是S[i