Partition to K Equal Sum Subsets

IF
AlgoAxiomStaff Engineers
JSTS
Medium20 mins

Given an integer array nums and an integer k, return true if it is possible to divide this array into k non-empty subsets whose sums are all equal.

Examples

Example 1:

Input: nums = [4,3,2,3,5,2,1], k = 4

Output: true

Explanation: It is possible to divide the array into 4 subsets: [5], [1,4], [2,3], [2,3] with equal sum 5.

Example 2:

Input: nums = [1,2,3,4], k = 3

Output: false

Explanation: The total sum is 10, which is not divisible by 3, so it is impossible to partition into 3 equal-sum subsets.

Example 3:

Input: nums = [2,2,2,2,3,4,5], k = 4

Output: false

Explanation: The total sum is 20 and each subset would need sum 5, but no valid partition of 4 subsets exists.

Constraints

  • 1 <= k <= nums.length <= 16
  • 1 <= nums[i] <= 10⁴
Source: Subsets pattern — AlgoAxiom
JavaScript
Test Case 1
root = [1, 2, 3]
Test Case 2
root = [1, 2, 3, 4, 5]
Idle