Talentd
FleetCode

698. Partition to K Equal Sum Subsets

Medium38.6% acceptance8 companies

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.

Example 1:

Input: nums = [4,3,2,3,5,2,1], k = 4
Output: true
Explanation: It is possible to divide it into 4 subsets (5), (1, 4), (2,3), (2,3) with equal sums.

Example 2:

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

Constraints:

  • 1 <= k <= nums.length <= 16
  • 1 <= nums[i] <= 104
  • The frequency of each element is in the range [1, 4].

Hints open one at a time

Hint 1
We can figure out what target each subset must sum to. Then, let's recursively search, where at each call to our function, we choose which of k subsets the next value will join.
11:03
Still stuck?Read 5 approaches, or watch a walkthrough.
Open solution
Loading editor…
1class Solution:
2 def canPartitionKSubsets(self, nums: List[int], k: int) -> bool:
3
Starter codePython 3Spaces: 4
Examples
Input
[4,3,2,3,5,2,1]
4
Input
[1,2,3,4]
3
Your code is saved on this device.Solution