**Problem Statement:**
Given the required input arguments, write an efficient algorithm to solve the **Subsets** problem. Implement the required logic as specified by standard definitions for this classic algorithmic challenge.
**Hint / Expected Approach:**
Include/exclude DFS or bitmask
**Edge Cases to Consider:**
- (1) Empty array (one empty subset)
- (2) All same elements
- (3) n > 20 (large output)