晨哥Leetcode 727. Minimum Window Subsequence 最小窗口子序列

这是一个关于LeetCode 727题目的解答,题目要求找到字符串S中覆盖字符串T所有字符的最小子序列。通过动态规划方法解决,存储状态为dp[i][j]表示T的前j个字符是否是S从0到i位置的子序列,并返回最小符合条件的子序列起始位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值