您的位置:首页 > 其它

LeetCode 90: Subsets II

2017-08-28 13:00 323 查看
class Solution {
public List<List<Integer>> subsetsWithDup(int[] nums) {
List<List<Integer>> result = new ArrayList<>();
result.add(new ArrayList<>());
Arrays.sort(nums);

int count = 0;
for (int i = 0; i < nums.length; i += count) {
count = 0;
while (count + i < nums.length && nums[count + i] == nums[i]) {
count++;
}
int prevSize = result.size();
for (int j = 0; j < prevSize; j++) {
List<Integer> newRow = new ArrayList<>(result.get(j));
for (int k = 0; k < count; k++) {
newRow.add(nums[i]);
result.add(new ArrayList<>(newRow));
}
}
}
return result;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: