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

做网站用广告赚钱过时了网站 会员系统 织梦

做网站用广告赚钱过时了,网站 会员系统 织梦,社交网站建站,平面设计好学吗?没有基础审题&#xff1a; 本题需要我们将题目给定数组的所有子集枚举起来 思路&#xff1a; 方法一&#xff1a;二进制枚举 枚举对象&#xff1a;0到1<<n -1的整形数据 枚举顺序&#xff1a;顺序 枚举方式&#xff1a;二进制枚举 在解释二进制枚举的方法之前&#xff0c;我们先看…

审题:

本题需要我们将题目给定数组的所有子集枚举起来

思路:

方法一:二进制枚举

枚举对象:0到1<<n -1的整形数据

枚举顺序:顺序

枚举方式:二进制枚举

在解释二进制枚举的方法之前,我们先看看0~8的数字的二进制有什么特点

如果我们将0值定义为该索引位置不选,1定义为该索引位置可选。那么此时对于数字0~7的二进制情况,我们发现恰好完成了子集的枚举。

例子解释:

比如对于0数字,0~2的索引位置值都为0,说明这是三个数字都不选的情况

对于1数字,0索引位置值为1,其他位置值为0,说明这是只选择索引为0的数字的情况

其他数字情况也是同理

疑问:我们需要的数字范围是多少才能完全覆盖所有子集情况?

范围是0到(1<<n) -1。

我们先以给定数据个数为3举例,我们发现当数为8时,二进制的倒数第四位就有1了,说明到7的时候已经完成了数据个数为3所有的遍历。而8就是由1左移3位得到的,7是由8-1得到的。也就是说最远的遍历边界就是(1<<n)-1

综上,解题思路如下:

首先将需要遍历到的数依次取出,然后根据这些数的不同二进制位数值情况对子集进行数据插入。

当前子集插入完成后将子集放入二维的结果数组中,全部插入完成就直接返回结果数组

解题:

vector<vector<int>> subsets(vector<int>& nums) { int n = nums.size();vector<vector<int>> vv;//二进制枚举所有情况for(int i = 0; i < (1<<n); i++){vector<int> tmp;//对数的选择进行展开for(int j = 0; j < n; j++){//二进制值对应位置为1就插入子集if(i>>j & 1) tmp.push_back(nums[j]);}vv.push_back(tmp);}return vv;}

78. 子集 - 力扣(LeetCode)

http://www.dtcms.com/wzjs/589054.html

相关文章:

  • 公司网站设计费计入什么科目怎么给网站刷流量
  • 河南省城乡和住房建设厅网站首页电商网站产品模块
  • c 网站开发的好处珠海高端网站开发
  • 深圳市网站建设科技公司微信网站开发详解
  • 网站开发方面的岗位怎么做app和网站购物
  • 做网站建设公司赚钱吗长春是几线城市2021
  • 上海网站建设开发公司哪家好江苏元鼎建设工程有限公司网站
  • 免费网站搭建系统制作一个手机app软件
  • discuz网站怎么做排名铁路工程造价信息网
  • 如何更改网站模板wordpress建站 图片
  • 苏州建站公司兴田德润简介呢在线网站推荐几个
  • 河南郑州建设厅网站手机表白网站在线制作
  • 做彩票网站能挣到钱吗网站设计中的js是什么
  • 哪个公司做网站建设好淘宝客免费建网站
  • 河北建设集团有限公司网站网页制作软件哪个好用
  • 网站套用女生化妆品网站建设规划书
  • 网站域名跳转怎么做可以自己设计房子的游戏
  • 个人的网站备案多少钱网站备案人授权
  • 15年做哪些网站致富深圳网站建设 乐云seo
  • 工商局加强网站建设的通知wordpress广告插件下载
  • 邯郸外贸网站建设怎么建设网站网页
  • 全站加速 wordpresshtml全屏网站
  • 上海网站案例电子工程网络信息技术专业
  • 学习html的网站注册安全工程师注册管理系统官网
  • 免费的网站域名查询565wcc贵阳建设公司网站
  • 如何免费建com的网站石家庄本地招聘信息网
  • 广州网站建设案件最新国内重大新闻
  • 怎么建立购物网站后台很慢wordpress
  • 自学网站免费品牌设计法则
  • wordpress 淘宝客网站设计开发计划书