Java教程

无重复字符的最长子串-滑动窗口法

本文主要是介绍无重复字符的最长子串-滑动窗口法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
class Solution {
    public int lengthOfLongestSubstring(String s) {

        int len = s.length(), max = 0;
        Map<Character, Integer> map = new HashMap<>();
        //try to extend the range [start, end]
        int start = 0;
        for (int end = 0; end <len; end++) {
            if (map.containsKey(s.charAt(end))) {
                start = Math.max(map.get(s.charAt(end))+1,start);
            }
            max = Math.max(max, end - start + 1);
            map.put(s.charAt(end), end);
        }
        return max;
    }
}

 

这篇关于无重复字符的最长子串-滑动窗口法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!