g2201_2300.s2206_divide_array_into_equal_pairs.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g2201_2300.s2206_divide_array_into_equal_pairs;
// #Easy #Array #Hash_Table #Bit_Manipulation #Counting
// #2022_06_11_Time_1_ms_(100.00%)_Space_42.2_MB_(94.00%)
/**
* 2206 - Divide Array Into Equal Pairs\.
*
* Easy
*
* 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`
**/
public class Solution {
public boolean divideArray(int[] nums) {
int[] freq = new int[501];
for (int num : nums) {
++freq[num];
}
for (int f : freq) {
if (f % 2 != 0) {
return false;
}
}
return true;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy