zoukankan      html  css  js  c++  java
  • 3. 无重复字符的最长子串

    /**
         * 思想简单,用一个指针指向第二个重复的字符即可,然后判断每一段的大小,通过map保存没有重复字符的索引
         */
        public static int lengthOfLongestSubstring(String s) {
            int pre=0,maxlen=0;
            Map<Character, Integer> map = new HashMap<>();
            for (int i = 0; i < s.length(); i++) {
                if (map.containsKey(s.charAt(i))){
                    //如果是abba这种类型的话这样遍历到a的时候就不正确了,取出来的值为0+1不符合提议所以,取最大值
                    //pre = map.get(s.charAt(i))+1;
                    pre = Math.max(map.get(s.charAt(i))+1,pre);
                }
                map.put(s.charAt(i),i);
                maxlen=Math.max(i-pre+1,maxlen);
            }
            return maxlen;
        }
  • 相关阅读:
    [hdu1402]A * B Problem Plus(NTT)
    拦截导弹问题(Noip1999)
    删数问题(Noip1994)
    1217:棋盘问题
    随笔功能测试
    教师派8
    教师派7
    教师派6
    教师派5
    教室派4
  • 原文地址:https://www.cnblogs.com/xiaoruirui/p/15077492.html
Copyright © 2011-2022 走看看