无重复最长字符串

class Solution {
    public int lengthOfLongestSubstring(String s) {   
        int len = s.length();   // 输入的字符串长度
        int max = 0;   //  不重复的字符串数量
        int start = 0;          // 不重复字符串的起始位置
        Map<Character, Integer> map = new HashMap<>();  // 保存字符
        for(int end = 0; end < len ; end ++){
           if( map.containsKey(s.charAt(end))){
               start = Math.max(start, map.get(s.charAt(end)) + 1 );
           }
           map.put(s.charAt(end) , end);
           max = Math.max(max , end - start + 1);
        }
        return max;
    }
}

题目:https://leetcode.cn/problems/longest-substring-without-repeating-characters/submissions/

posted @ 2023-02-17 19:43  陆陆无为而治者  阅读(16)  评论(0编辑  收藏  举报