LeetCode3. Longest Substring Without Repeating Characters

来源:互联网 发布:java面向对象的4大特征 编辑:程序博客网 时间:2024/04/29 16:14

这里写图片描述

用的hashmap

考虑情况不足,wrong了两次,尴尬

import sun.java2d.pipe.SolidTextRenderer;import java.util.Arrays;import java.util.HashMap;import java.util.Map;/** * Created by hms on 2016/12/25. */public class Solution {    public int lengthOfLongestSubstring(String s) {        int n = s.length();        int k = 0;        int count = 0;        int p = 0;        HashMap<Character, Integer> integerMap = new HashMap<>();        for(int i = 0; i < n; ++i){            if(!integerMap.containsKey(s.charAt(i))){                integerMap.put(s.charAt(i), i);                ++count;                k = Math.max(k, count);            }else{                int index = integerMap.get(s.charAt(i));                for(int j = p; j <= index; ++j) integerMap.remove(s.charAt(j));                p = index + 1;                count = i - index;                if(count == 4){                    System.out.println(i);                }                k = Math.max(k, count);                integerMap.put(s.charAt(i), i);            }        }        k = Math.max(k, count);        return k;    }}
0 0
原创粉丝点击