2308. Divide Array Into Equal Pairs

Easy
Array
Hash Table
Bit Manipulation
Counting

Description

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

Hints

Hint 1
For any number x in the range [1, 500], count the number of elements in nums whose values are equal to x.
Hint 2
The elements with equal value can be divided completely into pairs if and only if their count is even.

Statistics

Acceptance
79.2%
Submissions
374,095
Accepted
296,425