题解 | #最小覆盖子串#

最小覆盖子串

https://www.nowcoder.com/practice/c466d480d20c4c7c9d322d12ca7955ac

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param S string字符串 
# @param T string字符串 
# @return string字符串
#
class Solution:
    def minWindow(self , S: str, T: str) -> str:
        # write code here

        left = 0
        right = 0
        lack = {}
        has = {}
        need = {}
        for i in T:
            if i not in lack.keys():
                lack[i]=1
            else:
                lack[i]+=1
            need[i]=lack[i]
            has[i]=0
        if S[0] in lack.keys():
            if lack[S[0]]==1:
                lack.pop(S[0])
            else:
                lack[S[0]]-=1
            has[S[0]]=1
        minc = 99999999
        minthis = [left,right]
        while left<=right or right < len(S)-1:
            if right==len(S)-1 and len(lack.keys())>0:
                break
            if len(lack.keys())==0:
                leg = right-left+1
                if leg<minc:
                    minthis = [left,right]
                    minc = leg
                if S[left] in has.keys():
                    has[S[left]]-=1
                    if has[S[left]]<need[S[left]]:
                        if S[left] not in lack.keys():
                            lack[S[left]]=1
                        else:
                            lack[S[left]]+=1
                left +=1
            elif right < len(S)-1:
                right +=1
                if S[right] in lack.keys():
                    lack[S[right]]-=1
                    if lack[S[right]]==0:
                        lack.pop(S[right])
                if S[right] in T:
                    has[S[right]]+=1
        
        if minc<99999999:
            return S[minthis[0]:minthis[1]+1]
        else:
            return ''

全部评论

相关推荐

阿武同学:基本信息保留前面三行,其他的可以全部删掉,邮箱最重要的你没写,主修课程精简到8个以内,实习里面2/3/4都是水内容的,非要写的话建议两到三句话,项目经历排版优化下,自我评价缩到三行
点赞 评论 收藏
分享
09-30 15:27
已编辑
成都工业学院 企业文化
Morpheus_:候选人:还需要测验武力值?
投递腾讯等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务