長男串の長さを求めて(java)
567 ワード
文字列を指定します。一番上の文字列の長さは重複文字が含まれていません。
スライドウィンドウの使い方
スライドウィンドウの使い方
public static int lengthOfLongestSubstring(String s) {
int ans=0;
//map
Map map = new HashMap<>();
for (int i = 0,j=0; i < s.length(); i++) {
if(map.containsKey(s.charAt(i))) i=Math.max(i, map.get(s.charAt(j)));
ans=Math.max(ans,i-j+1);
map.put(s.charAt(i), i+1);
}
return ans;
}
public static void main(String[] args) {
String s="sdaifuni";
System.out.println(lengthOfLongestSubstring(s));
}