You are given an array of integers. Your task is to generate all possible subsets (power set) of the array. A subset can contain any number of elements, including none or all and you may show none as -.
Example 1
Input: arr[] = [4]
Output: [] [4]
Explanation: The single element is either excluded or included, giving two subsets.
Example 2
Input: arr[] = [1 2 3]
Output: [] [1] [2] [3] [1 2] [1 3] [2 3] [1 2 3]
Explanation: Each element has two choices (take or skip), so different combinations form all subsets.
Example 3
Input: arr[] = [1 2 3 4]
Output: [] [1] [2] [3] [4] [1 2] [1 3] [1 4] [2 3] [2 4] [3 4] [1 2 3] [1 2 4] [1 3 4] [2 3 4] [1 2 3 4]
Explanation: Since every element can be included or excluded, all possible combinations are generated.
Sign in to write, run, and submit your solution against the full test suite.