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

上海网站建设公司排行榜内蒙古建设厅网站

上海网站建设公司排行榜,内蒙古建设厅网站,无锡百度竞价推广,wordpress分类目录404题目描述: 给你一个整数数组 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/51958/

相关文章:

  • 大同网站建设推广伙购网官方网站
  • 给别人做网站的销售叫什么游戏推广对接平台
  • 怎么实现网站注册页面wordpress 微信分享h5
  • 给公众号做头像的网站网站注册页面
  • html5网站开发个人备案网站名称大全
  • 怎样经营好一个网站营销型网站建设一般要多少钱
  • 网站开发与兼容模式创新的做网站
  • 网站更换运营商要重新备案怎么搭建个人网站电脑做服务器
  • 怎样在百度上作网站推广建设德国网站
  • 移动端网站怎么做如何设计小程序
  • 定制旅游网站建设成都做网站买空间多少钱
  • 公司网站兰州建设需要多少钱wordpress 汉化 自适应
  • wordpress运行机制seo上词价格
  • 单人给一个公司做网站费用怎么开发自己的小程序
  • 中国建设银行网站保定五四路企业网站推广有哪些方式
  • 怎麽用dw做网站轮播海报佛山建站 网站 商城
  • 县级门户网站建设的报告工业品企业网站源码
  • 哈尔滨做网站多少钱怎么做能上谷歌网站吗
  • wordpress建站服务河源建设用地竞拍网站
  • 怎么制作公司网站电脑系统
  • 多语言做网站免费下载简历自己填写
  • 设计企业网站多少钱子域名做微信开放平台网站应用
  • 网站优化方式我网站正在建设中
  • 自己的网站怎么做的建设工程施工合同示范文本2023最新版
  • asp.net企业网站建设网页设计工作岗位及薪资
  • 网站幻灯片效果代码360未经证实的网站如何做
  • php 微信 网站建设云南企业网站建设
  • php网站程序安装只做原创内容平台网站
  • 做网站如何自动采集图片建立互联网公司网站
  • 专业的美容网站建设邯郸网站设计怎么注册