web123456

Dictionary of data structures

  • var minWindow = function(s, t) {
  • let l=0;
  • let r=0;
  • let need=new Map();
  • for(let i of t){
  • need.set(i,need.get(i)? need.get(i)+1:1);
  • }
  • let length=s.length;
  • let nodeType=need.size;
  • let res='';
  • while(r<length){
  • let n=s[r];
  • if(need.has(n)){
  • need.set(n,need.get(n)-1);
  • if(need.get(n)===0){nodeType--;}
  • }
  • while(nodeType==0){
  • const newRes=s.substring(l,r+1);
  • if(!res||newRes.length<res.length){res=newRes}
  • let a=s[l];
  • if(need.has(a)){
  • need.set(a,need.get(a)+1);
  • if(need.get(a)===1) nodeType++;
  • }
  • l++;
  • }
  • r++;
  • }
  • return res
  • };