Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    1982 - Find Array Given Subset Sums.

    Hard

    You are given an integer n representing the length of an unknown array that you are trying to recover. You are also given an array sums containing the values of all <code>2<sup>n</sup></code> subset sums of the unknown array (in no particular order).

    Return the array ans of length n representing the unknown array. If multiple answers exist, return any of them.

    An array sub is a subset of an array arr if sub can be obtained from arr by deleting some (possibly zero or all) elements of arr. The sum of the elements in sub is one possible subset sum of arr. The sum of an empty array is considered to be 0.

    Note: Test cases are generated such that there will always be at least one correct answer.

    Example 1:

    Input: n = 3, sums = -3,-2,-1,0,0,1,2,3

    Output: 1,2,-3

    Explanation: 1,2,-3 is able to achieve the given subset sums:

    • []: sum is 0

    • 1: sum is 1

    • 2: sum is 2

    • 1,2: sum is 3

    • -3: sum is -3

    • 1,-3: sum is -2

    • 2,-3: sum is -1

    • 1,2,-3: sum is 0

    Note that any permutation of 1,2,-3 and also any permutation of -1,-2,3 will also be accepted.

    Example 2:

    Input: n = 2, sums = 0,0,0,0

    Output: 0,0

    Explanation: The only correct answer is 0,0.

    Example 3:

    Input: n = 4, sums = 0,0,5,5,4,-1,4,9,9,-1,4,3,4,8,3,8

    Output: 0,-1,4,5

    Explanation: 0,-1,4,5 is able to achieve the given subset sums.

    Constraints:

    • 1 &lt;= n &lt;= 15

    • <code>sums.length == 2<sup>n</sup></code>

    • <code>-10<sup>4</sup><= sumsi<= 10<sup>4</sup></code>

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final IntArray recoverArray(Integer n, IntArray sums)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait