Mark As Completed Discussion

Good evening! Here's our prompt for today.

We're given a set in the form of an array with a unique integers. Can you write a function that tells us whether it can be separated into two subsets whose elements have equal sums?

Here's an example: [5, 9, 7, 21]:

Description

The below would return true because newSet can be divided into [5, 9, 7] and [21]. Both subsets sum to 21 and are equal.

JAVASCRIPT
1function hasEqualSubsets(arr) {
2  // fill
3}
4const newSet = [5, 7, 21, 9]
5
6console.log(hasEqualSubsets(newSet));   // true

And in another example, the below returns false since newSet cannot be divided into equal subsets.

JAVASCRIPT
1const newSet = [9, 3, 1]
2
3console.log(hasEqualSubsets(newSet));   // false
Description

Constraints

  • Length of the array <= 1000
  • The values will always contain integer values between -1000 and 1000
  • The final answer will always fit in the integer value
  • Expected time complexity : O(n^2)
  • Expected space complexity : O(n^2)

Try to solve this here or in Interactive Mode.

How do I practice this challenge?

JAVASCRIPT
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment

We'll now take you through what you need to know.

How do I use this guide?