Untitled
unknown
c_cpp
2 years ago
538 B
6
Indexable
int **subsets(int *nums, int numsSize, int *returnSize, int **returnColumnSizes) {
int n = numsSize;
*returnSize = (1 << n);
*returnColumnSizes = malloc(sizeof(int) * (1 << n));
int **ans = malloc(sizeof(int *) * (1 << n));
for (int i = 0; i < (1 << n); i++) {
int *arr = malloc(sizeof(int) * n);
int index = 0;
for (int j = 0; j < n; j++) {
if (i & (1 << j)) arr[index++] = nums[j];
}
(*returnColumnSizes)[i] = index;
ans[i] = arr;
}
return ans;
}Editor is loading...
Leave a Comment