题目: A、B两个整数集合,设计一个算法求他们的交集,尽可能的高效。

思想: 位图标示数字

1 遍历 集合A,求出 最值,效率 1.5n ,计算最大值与最小值的差为LA。对B一样求出最值的差为LB。

2 新建一块空间 M,大小为  min( LA, LB ) / 8 取整 +1 个字节

3 遍历 最值差 小的 集合

设置M的第j个比特为1(从0开始),j 为 每个 元素 与 该集合 最小值的差。

设置 第j个比特为1 的方法:使用 unsigned char 指针p 指向 M,*(p+j/8) |= 1 << j%8

4 遍历 另外一个 集合

以 每个元素 与 前一个 集合 最小值的 差 为 k,若 k 小于 0 或 大于 min(LA,LB) 则 该 元素 不属于 交集

再 查看 M 中 第 k 个 比特 是否 为 1,若是 则 该元素 属于 交集 ,否则 不是。

ps: 如果 不考虑 内存限制, 可以 根据 集合 使用的 整数的范围 来 设置 M 的 bit数目,即 空间大小。从而省略 第1步。

转载于:https://www.cnblogs.com/i2u9/p/intersection.html

两个整数集合的交集 ———— 腾讯2014软件开发笔试题目相关推荐

  1. 腾讯2014软件开发笔试题目

    简答题: 1.请设计一个排队系统,能够让每个进入队伍的用户都能看到自己在 中所处的位置和变化.队伍可能随时有人加入和退出,当有人退出影响到用户的位置排名时需要即时反馈到用户. 2.A.B两个整数集合, ...

  2. 【数据结构 C描述】有两个整数集合 A 和 B 分别用两个线性表 LA 和 LB 表示,求:一个新的集合A=A∪B,A仍然为纯集合,线性表采用链式存储方式。【单链表】

    这是我的作业题,作业写完后再附到博客中,可能代码写得很烂.虽然是C语言写的,但是我在其中加入了C++的写法,例如cout.我懒得写printf的格式控制符,所以用cout来输出内容,这样我感觉简便多了 ...

  3. java如何使用代码求两个list集合的交集呢?

    转自: java如何使用代码求两个list集合的交集呢? 下文笔者讲述求list集合的交集的方法简介说明,如下所示: 实现思路:使用stream流中的filter方法对集合进行包含关系计算,从而得到交 ...

  4. 腾讯2014校园招聘笔试试题

    试卷类型:软件开发A1 考试时长:120分钟 一 不定项选择题(共25题,每题4分,共100分,少选.错选.多选均不得分) 1 已知一棵二叉树,如果先序遍历的节点顺序是:ADCEFGHB,中序遍历是: ...

  5. A,B两个整数集合,设计一个算法求他们的交集,尽可能的高效(牛客网)

    #include<iostream> using namespace std; /* 1)先使用快速排序,使得两个数组有序: 2)然后利用二分查找的方法,在数组B中查找: 3)其中,注意在 ...

  6. 两个不同集合的交集、并集及差集

    需求 业务场景:现在给出这么一个需求,两个系统,旧系统与新系统同一个月中的数据,比对两个list找出不重复的数据,然后在进行校验.emmm......其实说通俗点,就是求两个集合的差集. 最初想法:循 ...

  7. 打印出两个set中差集_Java之两个Set集合的交集、差集和并集

    一.求交集 注:场景是读取两个文件,把文件内容放到Set中,求两个文件之间的共同元素.在这里只写对Set的操作. public static void main(String[] args) thro ...

  8. python中怎么取两个列表 集合的交集

    在python 3.x 版本中 set 中有函数intersection() intersection() 方法用于返回两个或更多集合中都包含的元素,即交集. 语法: 在这里插入代码片set.inte ...

  9. JAVA——两个List集合求交集、并集和差集(去重)模板

    关注微信公众号:CodingTechWork,一起学习进步. 引言   经常遇到一些集合类之间的过滤数据.求合集之类的问题,在此以List为例,毕竟在数据库中取数据后,我们使用比较多的是List集合进 ...

最新文章

  1. 利用MATLAB帮助求解作业中的Laplace变换和Z变换
  2. 枚举IHTMLDocument2中所有IFRAME的内容
  3. VB.NET版机房收费系统—DataGridView应用
  4. 按钮 交互_SwiftUI中的微交互—菜单按钮动画
  5. vue 高德地图 不同区域显示不同颜色_高德百度哪家强?苹果Carplay第三方分屏功能评测...
  6. Python笔记-利用OpenCV的matchTemplate屏幕找图并使用pyautogui点击
  7. 最便宜的鸿蒙手机,今年不再推出鸿蒙手机,却让老旗舰占据优势,降价后变真香...
  8. 【王道考研计算机网络】—分层结构 协议 接口 服务
  9. [走走看看]转载两篇文章:挂牌和追经
  10. Day4:python之文件操作、函数初识(2)
  11. 编译 framework.jar包
  12. 用jmap和jps查看对象数量
  13. CPU指令集科普:CISC指令集和RISC指令集
  14. 计算机算力英语怎么说,MIT警告深度学习正逼近算力极限,突破瓶颈会让人类成为上帝?...
  15. STAP旁瓣干扰抑制与干扰对抗仿真
  16. 2159: H.ly的小迷弟
  17. java木马源码_用Java编写木马程序【附源代码下载】
  18. Oracle PL/SQL 循环
  19. 简单3步将你的python转成exe格式
  20. 苹果游戏类产品如何做好ASO优化,苹果游戏aso优化

热门文章

  1. 测试需求分析和测试策略制定
  2. jmeter 登录用户并发压力测试案例_测试模型构建及场景用例设计
  3. 程序员抱怨:父母没文化没见识,当初努力学习远离看来是正确的
  4. 目前最流行的前端开发框架
  5. 高级点的php书,深入理解php:高级技巧、面向对象与核心技术(原书第3版) 中文pdf扫描版[76MB]...
  6. qt widget设置边框_Qt开源作品16-通用无边框拖动拉伸
  7. php简单的登录界面,PHP实现简单用户登录界面
  8. 企业千人千面管理模式_一汽解放青岛汽车有限公司荣获“2020(第十六届)中国企业教育先进单位百强”...
  9. 学计算机和摄影哪个好,【干货】如何学习好摄影后期
  10. mysql where true_在MySQL中选择查询,检查字符串或在where子句中检查是否为true?