525. Contiguous Array 发表于 2022-02-15 123456789101112131415161718192021class Solution { public int findMaxLength(int[] nums) { int preSum = 0, maxLength = 0; Map<Integer, Integer> preSumToLastIndexMap = new HashMap<>(); preSumToLastIndexMap.put(0, -1); for (int i = 0; i < nums.length; i++) { int num = nums[i]; preSum += num == 0 ? -1 : 1; // 当 preSum 再次出现时,说明出现了次数相等的 0 和 1 Integer lastIndex = preSumToLastIndexMap.get(preSum); if (lastIndex == null) { preSumToLastIndexMap.put(preSum, i); } else { maxLength = Math.max(maxLength, i - lastIndex); } } return maxLength; }} Reference525. Contiguous Array剑指 Offer II 011. 0 和 1 个数相同的子数组