题解 | #NC41 最长无重复子数组#
最长无重复子数组
http://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4
滑动窗口
与力扣 3. 无重复字符的最长子串 类似
import java.util.*; public class Solution { /** * * @param arr int整型一维数组 the array * @return int整型 */ public int maxLength (int[] arr) { // write code here if(arr.length <= 1) return arr.length; int len = arr.length; int maxLen = 0; HashMap<Integer, Integer> map = new HashMap<>(); for (int start = 0, end = 0; end < len; end++) { if (map.containsKey(arr[end])) { start = Math.max(start, map.get(arr[end]) + 1); } maxLen = Math.max(maxLen, end - start + 1); map.put(arr[end], end); } return maxLen; } }