Mark As Completed Discussion

Good morning! 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?

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

Here's our guided, illustrated walk-through.

How do I use this guide?

Access all course materials today

The rest of this tutorial's contents are only available for premium members. Please explore your options at the link below.

Returning members can login to stop seeing this.