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

东莞多语言网站建设品牌推广工作内容

东莞多语言网站建设,品牌推广工作内容,wordpress自定义输入,哪个网站可以做店招店标轮播文章目录 前言一、 bitset模拟实现二、 常见面试题1.给你一百亿个整数,找到只出现一次的数字2. 给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集? 前言 快速查找某个数据是否在一个集合中排序 去重…

文章目录

  • 前言
  • 一、 bitset模拟实现
  • 二、 常见面试题
    • 1.给你一百亿个整数,找到只出现一次的数字
    • 2. 给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集?


前言

  1. 快速查找某个数据是否在一个集合中
  2. 排序 + 去重
  3. 求两个集合的交集、并集等
  4. 操作系统中磁盘块标记

数据是否在给定的整形数据中,结果是在或者不在,刚好是两种状态,那么可以使用一个二进制比特位来代表数据是否存在的信息,如果二进制比特位为1,代表存在,为0代表不存在。比如:
在这里插入图片描述

一、 bitset模拟实现

namespace bit {template<size_t N>//非类型模板参数//N为我们要开的多少个比特位class bitset {public:bitset(){//我们用int类型来模拟,一个int一共32个比特_a.resize(N / 32 + 1);}void set(size_t x) {//将对应比特位变为1int i = x / 32;//i为在第几个int中int j = x % 32;//j为在这个int的32个比特位的哪个位置_a[i] |= (1 << j);//按位或::只有双方对应位置都是0的时候才为0}void reset(size_t x) {//将对应比特位变为0int i = x / 32;int j = x % 32;_a[i] &= (~(1 << j));//按位与::只有双方对应位置都是1的时候才为1//左移后按位取反,相当于除了j位置为0其他位置都为1,按位与的时候其他位//不受影响}bool test(size_t x) {//判断这个位置存不存在int i = x / 32;int j = x % 32;//这里按位与并没有改变原来值的大小,//因为返回的是一个临时变量return _a[i] & (1 << j);}private:vector<int> _a;};

在这里插入图片描述
在这里插入图片描述

二、 常见面试题

1.给你一百亿个整数,找到只出现一次的数字

我们可以使用两个位图,两个位图所组成的两位的二进制,用来表示出现次数,我们只需对两个表中的存在情况进行讨论就能确定他们出现此处,找出所有标记位01的数
00出现0次,01出现1次,10出现两次,11出现两次以上

template<size_t N>class twobitset{public:void set(size_t x){//00出现0次,01出现1次,10出现两次,11出现两次以上// 00 -> 01if (!_bs1.test(x) && !_bs2.test(x)){_bs2.set(x);} // 01 -> 10else if (!_bs1.test(x) && _bs2.test(x)){_bs1.set(x);_bs2.reset(x);}// 本身10代表出现2次及以上,就不变了}bool is_once(size_t x){return !_bs1.test(x) && _bs2.test(x);}private:bitset<N> _bs1;bitset<N> _bs2;};

2. 给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集?

两个文件分别放到位图里面,然后判断两个位图的相同位置值是否相同。

int main()
{int a1[] = {1,2,3,3,4,4,4,4,4,2,3,6,3,1,5,5,8,9 };int a2[] = {8,4,8,4,1,1,1,1};bit::bitset<10> bs1;bit::bitset<10> bs2;// 去重for (auto e : a1){bs1.set(e);}// 去重for (auto e : a2){bs2.set(e);}int N=10;//N为两个文件中的最大值for (int i = 0; i < N; i++){//遍历如果在两个位图中相同位置都为1说明为交集if (bs1.test(i) && bs2.test(i)){cout << i << " ";}}cout << endl;
}
http://www.tj-hxxt.cn/news/75765.html

相关文章:

  • 邻水建设局网站深圳网络推广建站
  • 皮具 东莞网站建设网站建设加推广优化
  • 阿里云做网站教程网站推广公司排名
  • h5做网站用什么软件百度网站安全检测
  • 建设工程安全A证在哪个网站可查seo平台优化
  • 淄博做网站公司有哪些如何做好网站站内优化
  • 网站建设学习内容企业员工培训课程内容
  • 加盟品牌网站建设app下载免费安装
  • 微商城网站建设流程方案苏州网站建设哪家靠谱
  • 网站集约化建设方案网络推广好做吗多少钱
  • 品牌网站开发特点google chrome浏览器
  • 如何在百度上做网站最新新闻热点素材
  • 给公司做门户网站多少钱郑州做网站最好的公司
  • 电脑网页尺寸一般是多少班级优化大师app
  • 武汉做网站哪家公司好网站seo在线优化
  • 国内网站用django做的上海优化排名网站
  • wordpress主题收费变免费福清seo
  • 网站开发需要看相关书籍武汉搜索排名提升
  • 嘉兴企业网络营销推广平台网站优化外包
  • 网站建设开发多少钱上海seo优化公司bwyseo
  • 海淀公司网站搭建网络推广方法怎么做
  • 专做阀门网站谷歌 chrome 浏览器
  • 上海网页制作与网站设搜索引擎内部优化
  • javascript网页制作模板福州seo招聘
  • 可信赖的企业网站建设二级域名查询网站
  • 百拓公司做网站怎么样互联网营销师考试题库
  • 怎么创建自己公司的网站长沙官网优化公司
  • 连云港做网站优化营销型网站优化
  • 公司网站优化哪家好2021百度模拟点击工具
  • h5网站开发实例教程八八网