算法题3

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

滑动窗口解题法:

public int lengthOfLongestSubstring(String s) {
        int maxLength = 0;
        HashMap<Character, Integer> map = new HashMap<>();
        for (int end = 0 , start = 0; end <s.length() ; end++) {
            char c = s.charAt(end);
            if (map.containsKey(c)){
                start = Math.max(start,map.get(c));
            }
            maxLength = Math.max(maxLength,end-start+1);
            map.put(c,end+1);
        }
        return maxLength;
    }
发布了12 篇原创文章 · 获赞 1 · 访问量 531

猜你喜欢

转载自blog.csdn.net/weixin_44635138/article/details/104365101