class Solution { public List> subsets(int[] nums) { int n = nums.length; List> ans = new ArrayList<>(); for (int mask = 0; mask < 1 << n; ++mask) { List t = new ArrayList<>(); for (int i = 0; i < n; ++i) { if (((mask >> i) & 1) == 1) { t.add(nums[i]); } } ans.add(t); } return ans; } }