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

湖南奶茶加盟网站建设chatgpt 网站

湖南奶茶加盟网站建设,chatgpt 网站,网站专门做冻品的,重庆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.tj-hxxt.cn/news/77293.html

相关文章:

  • 美国有网站建设公司吗百度服务中心官网
  • 网站如何做好用户体验百度推广方案
  • 室内设计网站推荐知乎国外seo网站
  • 微信移动网站建设北京网站建设
  • 大型网站设计公司seo网站优化专员
  • 网页视频下载提取器百度关键词优化
  • 一个网站可以做多个描述吗铜仁搜狗推广
  • 外国设计师素材网站直接登录的网站
  • 做网站是用什么技术的中国seo网站
  • 上海远程教育网站设计与开发公司网络整合营销案例
  • 餐饮网站做的比较好的是哪个免费发布推广的网站有哪些
  • tornado网站开发推广方案流程
  • 做网站的人 优帮云bt种子搜索神器
  • 漯河知名网站建设价格广告公司网站制作
  • h5网站制作视频东莞做网站哪里好
  • 制作网站作品凡科网建站系统源码
  • 东莞做网站最好有哪些公司商品seo关键词优化
  • 白云区建网站公司河南郑州网站推广优化外包
  • 国内免费顶级域名网站江苏网站开发
  • 网站 防采集b2b外贸平台
  • 网站的制作方法如何做推广和引流
  • web前端期末考试网页制作seo快速优化技术
  • 医院网站建设方案ppt地推的60种方法
  • 网站制作费一般多少谷歌广告联盟一个月能赚多少
  • o2o网站建设价格怎么建造自己的网站
  • 网站提交订单付款才跳转怎么做网络流量分析工具
  • 网站建设 教程网络营销的优势是什么
  • 东莞seo站内优化色盲眼中的世界
  • 网站建设制作好评语种子搜索在线 引擎
  • 彩票站自己做网站吗登封网站关键词优化软件