无重复字符最长字串

2020-06-16  本文已影响0人  知识分享share

滑动窗口

static int longsetstr(String s){
      Set<Character> set = new HashSet<Character>();
      int n =s.length();
      int lk=-1,ans=0;
      for(int i=0;i<n;i++){
        if(i!=0){
            set.remove(s.charAt(i-1));
         }
        while(lk+1<n&&!set.contains(lk+1)){
            set.add(s.charAt(lk+1));
            ++lk;
        }
        ans=Math.max(ans,lk-i+1);
    }
    return ans;
}
上一篇 下一篇

猜你喜欢

热点阅读