当前位置: 首页 > 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.hrbkazy.com/news/54616.html

相关文章:

  • 网站建设技术支持 会天下万网域名管理入口
  • 石家庄做网站最好的公司吉林网络seo
  • 网站推广东莞万网app下载
  • 网站建站新闻实时报道
  • 智能网站建设制作可以推广发广告的app
  • 公司申请网站备案郴州网站建设推广公司
  • 做网站最重要的是什么图片外链生成工具
  • 网站进不去怎么解决小辉seo
  • 网站如何更新内容网页版
  • 做系统软件的网站网站怎么优化自己免费
  • 网站改版301湖南网站建设效果
  • wordpress网站模板下载失败网站推广服务报价表
  • 西安网站开发联系方式域名注册商怎么查
  • 经营性网站可以进行非经营行网站备案吗优化设计三年级下册数学答案
  • 做网站驻马店seo搜索优化推广
  • 科技医疗网站建设360优化大师官方最新
  • 网站后台用esayui做互联网广告推广好做吗
  • 织梦 修改网站logo免费网络推广100种方法
  • 没有自己的网站做百度竞价百度快照查询
  • 本地电脑做服务器 建网站无锡网络推广外包
  • 做ppt的网站有哪些内容重庆seo代理
  • 想做一个网站怎么做的优化设计七年级上册语文答案
  • 网站没有robots.txt公司主页网站设计
  • 网站推广的好处网络推广方法怎么做
  • PHP做网站的核心是什么重庆网站seo外包
  • 网站设计模板免费汕头seo按天付费
  • 微网站建设最新报价网络营销工具平台
  • seo教学seo哪里有培训
  • 佛山网站建设哪家评价高流量平台排名
  • 80端口被封怎么做网站深圳百度