当前位置: 首页 > news >正文

大连网站设计开发深圳建筑人才网招聘信息

大连网站设计开发,深圳建筑人才网招聘信息,自己做网站销售,购物网站简介题目描述: 给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。 示例 1: 输入&#x…

题目描述:

给你一个整数数组 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

通过次数

330.7K

提交次数

520.9K

通过率

63.5%

思路和题解

如果说数组里没有重复元素的话,我们可以用回溯法,每次都遍历没有用过的数,对于遍历的数,选择放入这个数字或不放这个数字。现在加上了重复的数字,我们只需要在选择放入或不放入这个数字x之前,判断当前'位置'index有没有放过与x相等的数,如果有就直接跳过对这个数字的选择。

对于   判断当前'位置'index有没有放过与x相等的数   ,我们可以先将数组排序,排序后,相等的数字都相邻,这样就用if(i!=depth&&nums[i]==nums[i-1]) continue;判断是否有重复。

代码:

class Solution {
public:vector<vector<int>> ans;vector<int> temp;void backtrack(int depth,vector<int> &nums){// if(depth>nums.size()) return ;ans.emplace_back(temp);for(int i=depth;i<nums.size();i++){//有重复就跳过这个数字if(i!=depth&&nums[i]==nums[i-1]) continue;//选择这个数字temp.emplace_back(nums[i]);backtrack(i+1,nums);//不选择这个数字temp.pop_back();}}vector<vector<int>> subsetsWithDup(vector<int>& nums) {sort(nums.begin(),nums.end());backtrack(0,nums);return ans;}
};

http://www.yayakq.cn/news/569152/

相关文章:

  • 民宿网站开发dfd图雅安移动网站建设
  • ps做网站动图天空网站开发者
  • 网站的所有权汕头品牌设计公司
  • 新竹自助网站成都淮洲新城建设投资有限公司网站
  • 用花生壳做网站速度可以吗学些网站制作
  • 做网站优化步骤分类列表页wordpress
  • 网站开发都用什么做音乐 交流网站
  • 四川省查询建设人员注册证书网站人事外包
  • 企业建站一条龙用爬虫做网站
  • 开源网站有哪些杭州网站建设
  • 广东网站建设教程深圳互联网科技有限公司
  • 科技设计网站有哪些内容当下最热的网页制作工具
  • 建大型网站要多少钱杭州网站建设蒙特
  • 百度网站排名怎么提高wordpress 小米主题
  • 简述网站建设方法一建建设网站首页
  • 电子商务战略选择 网站建设建议贵州网络推广介绍
  • 网站制作公司属于广告发布者吗模仿建设网站是侵权吗
  • 网站建设 php jsp .net中国建设银行企业
  • 全球云邮登陆网站护肤网站模版
  • 如何进行电子商务网站推广?让家里的电脑做网站服务器
  • 移动网站建设是什么意思网站建设中遇到的问题
  • 网站制作与网站建设实际报告洛阳设计网站公司
  • wordpress mv网站模板网站开发外包计入什么科目
  • 汕头网站建设推广中国建设人才服务信息网证书查询
  • 五泉山网页设计宣传网站制作网络广告策划书的内容
  • 河南做网站需要多少钱aso优化技巧
  • 长沙网站建设方面江西城开建设集团有限公司网站
  • 工程公司网站模板下载商城网站模板免费
  • 云主机网站的空间在哪里看张雪峰谈建筑室内设计
  • 林州网站建设策划.asp网站怎么做