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

深圳企业公司做网站免费 网站 平台

深圳企业公司做网站,免费 网站 平台,建网站最低需要多少钱,网络服务机构的域名是什么1. 题意 给一个可能含有重复元素的数组,求这个数组的所有子集。 2. 题解 跟leetcode 72 子集的差别在于,我们需要将重复的元素给去掉。那如何去重呢,实际上我们可以先排序将重复的元素给放在一起。然后在回溯后,找到下一个不与…

1. 题意

给一个可能含有重复元素的数组,求这个数组的所有子集。

2. 题解

跟leetcode 72 子集的差别在于,我们需要将重复的元素给去掉。那如何去重呢,实际上我们可以先排序将重复的元素给放在一起。然后在回溯后,找到下一个不与当前元素相同的位置。

2.1 枚举选哪个
class Solution {vector<vector<int>> ans;vector<int> tmp;void dfs(vector<int> &nums, int depth) {ans.push_back(tmp);int sz = nums.size();for (int i = depth;i <sz; i++) {tmp.push_back( nums[i] );dfs( nums, i + 1);tmp.pop_back();while (i + 1 < sz && nums[i + 1] == nums[i]) {i++;}}   }
public:vector<vector<int>> subsetsWithDup(vector<int>& nums) {sort( nums.begin(), nums.end() );dfs(nums, 0);return ans;}
};
2.2 选或不选
class Solution {
public:vector<vector<int>> subsetsWithDup(vector<int>& nums) {ranges::sort(nums);int n = nums.size();vector<vector<int>> ans;vector<int> path;auto dfs = [&](this auto&& dfs, int i) -> void {if (i == n) {ans.push_back(path);return;}// 选 xint x = nums[i];path.push_back(x);dfs(i + 1);path.pop_back(); // 恢复现场// 不选 x,跳过所有等于 x 的数// 如果不跳过这些数,会导致「选 x 不选 x'」和「不选 x 选 x'」这两种情况都会加到 ans 中,这就重复了i++;while (i < n && nums[i] == x) {i++;}dfs(i);};dfs(0);return ans;}
};

Ref

0x3f

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

相关文章:

  • 东莞网站设计定制开发宝安网站建设制作
  • 连连电商网站开发公司呼和浩特网络运营
  • 提示危险网站seo关键词优化怎么收费
  • 用织梦做外文网站企业所得税是什么意思
  • 桂林餐饮兼职网站建设全国城建中心官网查询证书
  • 织梦网站怎么做安全措施山东网站建设开发维护
  • 建设工程信息比较好的网站现在做网站怎么赚钱
  • 汉语网站建设心得淡水网站建设定制
  • 企业网站怎么做律师如何在网上推广
  • 公司做的网站打开慢上海优化公司排行榜
  • 怎样用8uftp做网站个人做网站用什么技术
  • 毕节做网站的公司网站搭建招标方案
  • 平度城乡建设局网站页面跳转的方法
  • 网站建设或网站优化排名美食网站html静态
  • 苏州做外贸网站改版一个网站多少钱
  • 网站认领编程免费自学网站
  • 安徽建站优化哪里有wordpress版本查看
  • 免费的微网站企业网站制作方案
  • 连云港东海网站建设app开发定制外包24
  • asp美食网站源码宿迁做企业网站
  • 网站开发做网站品牌推广战略
  • 做微网站那pc端显示啥网页定制开发费用
  • 新乡做网站公司哪家好南隼深圳网站建设
  • 网站开发流程包括wordpress+企业站模版
  • 河北省网站建设.做百度推广设置网站统计
  • 体育西网站开发设计视频链接生成器
  • 大庆市建设大厦网站盐都建设局网站
  • 南宁企业做网站建设装修网站
  • 怎么看网站有没有做推广电商专员是做什么的
  • 宜昌市做网站的公司深圳市住房和建设局领导