无重复字符的最长子串(给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。)
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param arr int整型一维数组 the array * @return int整型 */ public int maxLength (int[] arr) { // write code here HashMap<Integer, Integer> hashMap = new HashMap<>(); int left = 0; int max = 1; hashMap.put(arr[0],0); for(int i=1;i<arr.length;i++){ if(!hashMap.containsKey(arr[i])){ hashMap.put(arr[i], i); max = Math.max(max, i-left+1); }else { int temp = hashMap.get(arr[i]); while(left <= temp){ hashMap.remove(arr[left]); left++; } hashMap.put(arr[i], i); left = temp + 1; } } return max; } }