All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g2201_2300.s2206_divide_array_into_equal_pairs.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
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