Timer is Running

Partition array to K subsets
Submissions: 3837   Accuracy:


  Difficulty: Hard   Marks: 8
Associated Course(s):   Amazon SDE Test Series

Given an integer array A[] of N elements, the task is to complete the function which returns true if the array A[] could be divided into K non-empty subsets such that the sum of elements in every subset is same.

Note: All elements of this array should be part of exactly one partition.

The first line of input contains an integer T denoting the no of test cases. Then T test cases follow. Each test case contains 3 lines. The first line of each test case contains an integer denoting the size of the array. In the next line are N space-separated values of the array A[ ]. In the next line is an integer K.

The output for each test case will be 1 if the array could be divided into k subsets else 0 .

Your Task:
You don't need to read input or print anything. Your task is to complete the function isKPartitionPossible() which takes the array a[], the size of the array N, and the value of K as inputs and returns true(same as 1) if possible, otherwise false(same as 0).
Expected Time Complexity: O(KN-K).
Expected Auxiliary Space: O(K).

1<=A[ ] <=100

Example(To be used only for expected output):

2 1 4 5 6
2 1 5 5 6

Input : A[] = [2, 1, 4, 5, 6], K = 3
Output : 1, as we can divide above array into 3 parts with equal sum as (2, 4), (1, 5), (6)

Input : A[] = [2, 1, 5, 5, 6], K = 3
Output : 0, as it is not possible to divide above array into 3 parts with equal sum.

** For More Input/Output Examples Use 'Expected Output' option **

Contributor: Amit Khandelwal
Author: Shubham Joshi 1

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

Need help with your code? Please use ide.geeksforgeeks.org, generate link and share the link here.

to report an issue on this page.