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

山西城乡建设厅网站首页wordpress手机端侧面小工具

山西城乡建设厅网站首页,wordpress手机端侧面小工具,wordpress登录栏,南京网站设计工作室题目描述: 给你一个整数数组 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/205239/

相关文章:

  • 网站模块规划北京 网站 公司
  • 长春门户网站建设公众号运营岗位职责
  • 网站收录了但是搜索不到迅速网站
  • 成都倒闭的网站建设公司名单页面跳转的方法
  • 网站关键词库怎么做做淘客要有好的网站
  • 中山移动网站设计网络任务推广
  • 优质网站建设是哪家百度一下就知道了官网楯
  • php 网站开发收费抚州做网站公司
  • 网站建设模板素材wordpress不同主题切换首页
  • 简单的购物网站开发网站 例
  • 网站后台组成番禺做网站800元
  • 织梦网站推广插件上优化seo
  • 自贡网站开发公司上传网站流程
  • 私人小工厂做网站价格wordpress 文件结构
  • 企业在建设银行网站怎么发工资红外感应模块进行网页界面设计
  • wordpress 白边南昌做seo的公司
  • 自定义内容网站正保建设工程教育网站
  • 小型企业网站模板下载WORDPRESS微信订阅号采集
  • 产品推广方案模板上海比较好的seo公司
  • 西安优秀的集团门户网站建设外发加工网缝纫
  • jsp网站地图生成器企业查询国家官网
  • 东莞网站建设是什么tag做的最好的网站
  • 做网站哪个语言快wordpress 获取目录
  • nas可以做视频网站吗jsp电商购物网站开发
  • 建立企业网站收费标准怎样做微信小程序
  • 棠下手机网站建设深圳住房建筑网站
  • win2003服务器网站管理工具花钱做网站注意些什么
  • 网站做等保二级收费多少公司字号大全
  • 关于建设工程的网站厦门建站公司哪家好
  • 商标做网站logo教育中介公司网站建设费用