zoukankan      html  css  js  c++  java
  • 76. Minimum Window Substring(js)

    76. Minimum Window Substring

    Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n).

    Example:

    Input: S = "ADOBECODEBANC", T = "ABC"
    Output: "BANC"
    题意:找出S中长度最小的子串,满足T中所有字符都在子串中
    代码如下:
    /**
     * @param {string} s
     * @param {string} t
     * @return {string}
     */
    var minWindow = function(s, t) {
        let res="";
        let obj={};
        let left=0,cnt=0,minLen=Infinity;
    //     统计t中的所有字符
        for(let i=0;i<t.length;i++) {
            if(obj.hasOwnProperty(t[i])){
                obj[t[i]]++;
            }else{
                obj[t[i]]=1;
            }
        }
    //     
        for(let i=0;i<s.length;i++){
            if(--obj[s[i]]>=0) ++cnt;
            while(cnt===t.length){
                if(minLen>i-left+1){
                    minLen=i-left+1;
                    res=s.substr(left,minLen);
                }
                if(++obj[s[left]]>0) --cnt;
                ++left;
            }
        }
        return res;
    };



  • 相关阅读:
    ajax
    Django之modelform组件
    Django之form组件
    orm事务与锁
    orm之多表操作
    orm之单表操作
    Django之orm
    Django之模板系统
    Django之视图
    hdu5698瞬间移动(杨辉三角+快速幂+逆元)
  • 原文地址:https://www.cnblogs.com/xingguozhiming/p/10567988.html
Copyright © 2011-2022 走看看