2025-03-17 Daily Challenge
Today I have done leetcode's March LeetCoding Challenge with cpp
.
March LeetCoding Challenge 17
Description
Divide Array Into Equal Pairs
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
Solution
class Solution {
public:
bool divideArray(vector<int>& nums) {
map<int, int> count;
for(auto n : nums) {
count[n] += 1;
}
for(auto [_, c] : count) {
if(c & 1) return false;
}
return true;
}
};
// Accepted
// 134/134 cases passed (10 ms)
// Your runtime beats 7.78 % of cpp submissions
// Your memory usage beats 49.04 % of cpp submissions (18.1 MB)