首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
集合的所有子集(二)
[编程题]集合的所有子集(二)
热度指数:3691
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
算法知识视频讲解
给定一个整数数组 nums ,其中可能包含重复元素,请你返回这个数组的所有可能子集。
返回的答案中不能包含重复的子集,将答案按字典序进行排序。
数据范围:数组长度满足
,数组中元素大小满足
示例1
输入
[1,2]
输出
[[],[1],[1,2],[2]]
示例2
输入
[1]
输出
[[],[1]]
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(64)
分享
纠错
提交结果有问题?
13个回答
17篇题解
开通博客
ToBe-YOU
发表于 2022-01-06 20:56:48
递归 + 回溯 + 访问标记 举例说明,对于数组[1,2,2],将其标记为[1,2,2']。 排序后,对于相邻的相等元素: 如果我们访问了2,再访问2'; 将子集[2, 2']加入结果。继续。 如果我们访问了2',却还没有访问2,我们是不希望有这种情况的,得跳过。 class Solution
展开全文
代码界的小白
发表于 2022-03-09 23:37:45
题目主要信息 给定一个整数数组 nums ,其中可能包含重复元素,请你返回这个数组的所有可能子集。 返回的答案中不能包含重复的子集,将答案按字典序进行排序。 方法一:排序+回溯 具体方法 由于题目要求最终答案需要按照字典序排序输出,所以在进行回溯之前先讲数组排序,然后在使用回溯求所有的子集。 代码
展开全文
我已入魔
发表于 2022-01-24 20:50:43
递归+回溯 class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return int整型
展开全文
Kuris
发表于 2022-08-03 11:01:27
import java.util.*; public class Solution { ArrayList<ArrayList<Integer>> res =&nb
展开全文
姐姐的遮阳伞
发表于 2022-03-24 22:23:35
import java.util.*; public class Solution { public class ComparaInteger implements Comparator<Integer> { @Override pu
展开全文
牛客马克西
发表于 2023-10-25 18:01:31
一、现在有一个没有重复元素的整数集合S,求S的所有子集注意:你给出的子集中的元素必须按升序排列给出的解集中不能出现重复的元素 #include <algorithm> #include <vector> class Solution { public: /**
展开全文
在刷题的柯基很优秀
发表于 2023-01-19 22:37:54
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return(756076230) int整型二维数组 */ function subsets( nums ) { // wri
展开全文
17c89
发表于 2024-11-19 16:25:04
import java.util.*; /** * NC221 集合的所有子集(二) * @author d3y1 */ public class Solution { private ArrayList<Integer> list = new ArrayList<
展开全文
在写日记的大师兄很洒脱
发表于 2025-06-15 10:16:43
# class Solution: def subsets(self , nums: List[int]) -> List[List[int]]: # write code here res,path = [], [] nums.sort
展开全文
认真的哈士奇不讲武德
发表于 2023-08-31 14:09:27
import java.util.*; public class Solution { ArrayList<ArrayList<Integer>> res = new ArrayList<>(); int n; ArrayList<
展开全文
问题信息
数组
位运算
递归
难度:
13条回答
64收藏
4390浏览
热门推荐
通过挑战的用户
查看代码
牛客11456...
2022-09-20 16:12:51
已转码的迪恩很讲义气
2022-09-15 23:25:33
cumt_cx
2022-09-14 21:06:10
firefly...
2022-09-14 08:32:59
Asphyxiay
2022-09-14 01:11:05
相关试题
执行完下列语句段后,i值为()
递归
评论
(16)
Primary Arithmetic
字符串
基础数学
位运算
评论
(39)
Skew数
基础数学
位运算
评论
(49)
MySQL中执行 SELECT I...
SQL
评论
(1)
订单表order_table全部记...
查找
数据库
数据分析
SQL
评论
(2)
集合的所有子集(二)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型ArrayList
> */ public ArrayList
> subsets (int[] nums) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return int整型vector
> */ vector
> subsets(vector
& nums) { // write code here } };
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return int整型二维数组 # class Solution: def subsets(self , nums ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型二维数组 */ public List
> subsets (List
nums) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型二维数组 */ function subsets( nums ) { // write code here } module.exports = { subsets : subsets };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return int整型二维数组 # class Solution: def subsets(self , nums: List[int]) -> List[List[int]]: # write code here
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型二维数组 */ func subsets( nums []int ) [][]int { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @param numsLen int nums数组长度 * @return int整型二维数组 * @return int* returnSize 返回数组行数 * @return int** returnColumnSizes 返回数组列数 */ int** subsets(int* nums, int numsLen, int* returnSize, int** returnColumnSizes ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums int整型一维数组 # @return int整型二维数组 # class Solution def subsets(nums) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型二维数组 */ def subsets(nums: Array[Int]): Array[Array[Int]] = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型二维数组 */ fun subsets(nums: IntArray): Array
{ // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型二维数组 */ public int[][] subsets (int[] nums) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型二维数组 */ export function subsets(nums: number[]): number[][] { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型二维数组 */ func subsets ( _ nums: [Int]) -> [[Int]] { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型二维数组 */ pub fn subsets(&self, nums: Vec
) -> Vec
> { // write code here } }
[1,2]
[[],[1],[1,2],[2]]
[1]
[[],[1]]