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

wordpress主题zanblog长春seo培训

wordpress主题zanblog,长春seo培训,梧州网站建设公司,网络规划设计师和系统规划与管理师哪个容易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.dinnco.com/news/83972.html

相关文章:

  • 字体版权登记网站百度流量推广项目
  • 网站知名度成人计算机速成培训班
  • 教做年糕博客网站百度免费收录提交入口
  • 网站怎么做h5支付西安seo代理
  • 网站的内链是什么意思草根seo博客
  • 怎么做百度推广运营优化网站服务
  • 南通快速建设网站服务做推广app赚钱的项目
  • 网站手机端页面怎么做下载百度网盘
  • 合肥网站建设哪家公司好品牌全案营销策划
  • 固镇网站建设自媒体平台排名前十
  • dwcs5做网站百度指数的使用方法
  • wordpress 支付宝企业信阳seo公司
  • 企业模拟网站建设品牌推广的概念
  • 网站开发外包维护合同范本网络广告推广方式
  • 无锡做食品网站的公司关键词优化百家号
  • vb.net可以做网站么seo优化专员招聘
  • 长沙住房和建设城乡委员会网站百度手机app
  • 云浮新兴哪有做网站的厦门百度seo
  • 广东外贸型网站建设网络广告推广公司
  • 自己做的网站提示不安全吗网络营销理论
  • 杭州网站外包百度下载并安装
  • 怎么做网站的用户注册google网站增加关键词
  • 产品宣传片制作seo教程 百度网盘
  • 广州做网站建设舆情网站
  • 开发前端后端深圳seo外包
  • 浏览器网站有哪些推广软文代发
  • 0716网站建设如何提高自己在百度的排名
  • 比较好的能组数学卷的网站做教案的360建站官网
  • 淄博网站建设团队搜索引擎优化百度百科
  • 武汉设计网站公司百度注册网站