子集 II

每日一练社区 2021-08-11 11:43:10

给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。

解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。

 

示例 1:

输入:nums = [1,2,2]
输出:
[[],[1],[1,2],[1,2,2],[2],[2,2]]

示例 2:

输入:nums = [0]
输出:
[[],[0]]

 

提示:

  • 1 <= nums.length <= 10
  • -10 <= nums[i] <= 10
...全文
757 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
递进排序?答对了,但没看懂
DGX47_BACK 2023-03-30
  • 打赏
  • 举报
回复
每日一蒙
JiuYueyyds 2022-11-13
  • 打赏
  • 举报
回复
蒙对了
m0_71218353 2022-06-26
  • 打赏
  • 举报
回复
好像蒙对了
m0_71218353 2022-06-26
  • 打赏
  • 举报
回复
那答案是选啥呀
  • 打赏
  • 举报
回复
看的写的好难受。。。
云云云海 2022-03-07
  • 打赏
  • 举报
回复 1
选项设计得不太好,只要看到数组长度=1触发返回语句,之后的代码不看都可以选出结果
Huterox 2022-01-21
  • 打赏
  • 举报
回复

这不是Letcode的吗

孤陵野老 2021-12-08
  • 打赏
  • 举报
回复 2

new一个Arraylist,并向这个arraylist中添加即向arraylist添加“[]",判断数组是否为空,若为空直接返回arraylist。
若不为空则将数组进行升序排序并向arraylist添加数组第一个元素。做外层for循环,取的当前arraylist长度,判断当前i位置元素与前一个元素是否相等,若不相等内层for循环j=0开始循环,因为retlist.get(0)=""所以inner第一次循环为nums[i],如上第二次循环inner为"nums[0],nums[i]从而实现了不同元素互相组合成新子集。相等则内层for循环一次即向arraylist添加一个元素即“nums[0].......nums[i]。

m0_47564975 2021-12-07
  • 打赏
  • 举报
回复
不太懂,蒙的
唏月文 2021-11-26
  • 打赏
  • 举报
回复 1
利用栈解决这个问题,定义一个最小的整数last,与数组中的元素进行比较,如果与last不相等,则压入栈中,然后再把这个与last进行比较的数组中的元素赋给last。
你懂的11 2021-11-22
  • 打赏
  • 举报
回复 1

蒙对了。。。

  • 打赏
  • 举报
回复
没人吗?

11,501

社区成员

发帖
与我相关
我的任务
社区描述
Study well and make progress every day
其他 企业社区
社区管理员
  • 每日一练社区
  • CSDN学习
  • 幻灰龙
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧