java-最大不重複字串長度
阿新 • • 發佈:2019-02-06
描述
給定一字串,求其中最大不重複子串長度。 exp: input:"",output:0 input:"aaa",output:1 input:"abcbabc",output:3程式碼
public class Fun { public static int maxLenthNoRepeat(String str){ if(str==null || str.isEmpty()){ return 0; } Map<Character, Integer> map = new HashMap<Character, Integer>(); int maxLength = 0; int current = 0; //迴圈字串,取出每個字元 for(int index=0; index < str.length(); index++){ if(map.containsKey(str.charAt(index))){ current = map.get(str.charAt(index)) + 1; } else{ if((index-current+1)>maxLength){ maxLength=index-current+1; } } map.put(str.charAt(index), index); } return maxLength; } }