Skip to content

Latest commit

 

History

History
66 lines (48 loc) · 2.6 KB

File metadata and controls

66 lines (48 loc) · 2.6 KB

2206. Divide Array Into Equal Pairs (Easy)

Date and Time: Mar 17, 2025, 19:45 (EST)

Link: https://leetcode.com/problems/divide-array-into-equal-pairs


Question:

You are given an integer array nums consisting of 2 * n integers.

You need to divide nums into n pairs such that:

  • Each element belongs to exactly one pair.

  • The elements present in a pair are equal.

Return true if nums can be divided into n pairs, otherwise return false.


Example 1:

Input: nums = [3,2,3,2,2,2]
Output: true
Explanation:
There are 6 elements in nums, so they should be divided into 6 / 2 = 3 pairs.
If nums is divided into the pairs (2, 2), (3, 3), and (2, 2), it will satisfy all the conditions.

Example 2:

Input: nums = [1,2,3,4]
Output: false
Explanation:
There is no way to divide nums into 4 / 2 = 2 pairs such that the pairs satisfy every condition.


Constraints:

  • nums.length == 2 * n

  • 1 <= n <= 500

  • 1 <= nums[i] <= 500


Python Solution:

class Solution:
    def divideArray(self, nums: List[int]) -> bool:
        # Add each int with counts into {}
        # For each char with their counts, if counts % 2 != 0, return False
        # TC: O(n), n=len(nums), SC: O(n)
        hashmap = {}
        for i in nums:
            hashmap[i] = hashmap.get(i, 0) + 1
        # Check if all occurrence is valid
        for val, cnts in hashmap.items():
            if cnts % 2 != 0:
                return False
        return True

Time Complexity: $O(n)$
Space Complexity: $O(n)$


CC BY-NC-SABY: credit must be given to the creatorNC: Only noncommercial uses of the work are permittedSA: Adaptations must be shared under the same terms