From 1c45e03ddd4e4995e2d49f8b8da58dca8b69ce66 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Fri, 2 Oct 2026 13:03:18 -0400 Subject: [PATCH] docs(content): add Contiguous Array page and update array badge count --- .../prefix-sum/525-contiguous-array.mdx | 53 +++++++++++++++++++ .../appendix/(1-data-structures)/array.mdx | 2 +- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 apps/docs/content/(01-linear-structures)/prefix-sum/525-contiguous-array.mdx diff --git a/apps/docs/content/(01-linear-structures)/prefix-sum/525-contiguous-array.mdx b/apps/docs/content/(01-linear-structures)/prefix-sum/525-contiguous-array.mdx new file mode 100644 index 0000000..372c87b --- /dev/null +++ b/apps/docs/content/(01-linear-structures)/prefix-sum/525-contiguous-array.mdx @@ -0,0 +1,53 @@ +--- +title: '525. Contiguous Array' +description: Given a binary array nums, return the maximum length of a contiguous subarray with an equal number of 0 and 1 +icon: dot +topics: + - { name: "Array", slug: "array" } + - { name: "Hash Table", slug: "hash-table" } + - { name: "Prefix Sum", slug: "prefix-sum" } +issue: "https://github.com/prdlk/leetcode/issues/39" +sidebar: + label: 'Contiguous Array' + badge: 'Medium' +--- + +### Example 1: +- Input: `nums = [0,1]` +- Output: `2` +- Explanation: [0, 1] is the longest contiguous subarray with an equal number of `0` and `1`. + +### Example 2: +- Input: `nums = [0,1,0]` +- Output: `2` +- Explanation: [0, 1] (or [1, 0]) is a longest contiguous subarray with equal number of `0` and `1`. + +### Example 3: +- Input: `nums = [0,1,1,1,1,1,0,0,0]` +- Output: `6` +- Explanation: `[1,1,1,0,0,0]` is the longest contiguous subarray with equal number of `0` and `1`. + +### Constraints: + +- `1 <= nums.length <= 10^5` +- `nums[i]` is either 0 or 1. + +## Solution + +```py +class Solution: + def findMaxLength(self, nums: List[int]) -> int: + map = {0: -1} + count = 0 + longest = 0 + + for i, num in enumerate(nums): + count += 1 if num == 1 else -1 + + if count in map: + longest = max(longest, i - map[count]) + else: + map[count] = i + + return longest +``` diff --git a/apps/docs/content/appendix/(1-data-structures)/array.mdx b/apps/docs/content/appendix/(1-data-structures)/array.mdx index f455529..e63f37e 100644 --- a/apps/docs/content/appendix/(1-data-structures)/array.mdx +++ b/apps/docs/content/appendix/(1-data-structures)/array.mdx @@ -3,7 +3,7 @@ title: "Array" list: "https://leetcode.com/problem-list/array/" icon: list-ordered sidebar: - badge: '45' + badge: '46' --- :::note