首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

腾讯二面:20亿个QQ号码如何去重?

背景 之前找工作在腾讯面试遇到了一个很有意思的面试题,当时我记得现场还没有答出来,后来回家想了一下其实也没有那么难,而且还挺有意思的,今天做个整理分享给大家,希望对你有用 题目如下 文件中有20亿个QQ...号码,请设计算法对QQ号码去重,相同的QQ号码仅保留一个,内存限制1G....这个题目的意思应该很清楚了,不过为了方便大家理解,我画了一个比较有年代感的动画,希望大家喜欢 方法一 排序去重 其实说到去重,最简单的方法就是先排序,排序之后重复的QQ号码必然在一起,保留第一个,把其余重复的去掉就行...可是,面试官又要问你了:实际要存20亿QQ号码,1G的内存够分配这么多空间吗?显然不行,这样回答你还是无法通过腾讯面试。 方法三 bitmap 来看绝招!...居然这么简单 对bitmap有了大概的了解之后,我们直接把存在的qq号码对应的位置标记为1即可,下次查询只要对应位为1,则为重复,因为bitmap是一种非常省空间的数据结构,所以能够满足内存在1G之内的要求

63940

腾讯三面:40亿个QQ号码如何去重?

今天,我们来聊一道常见的考题,也出现在腾讯面试的三面环节,非常有意思:文件中有40亿个QQ号码,请设计算法对QQ号码去重,相同的QQ号码仅保留一个,内存限制1G。...1 方法一:排序 很自然地,最简单的方式是对所有的QQ号码进行排序,重复的QQ号码必然相邻,保留第一个,去掉后面重复的就行。...5 扩展 练习一 文件中有40亿个互不相同的QQ号码,请设计算法对QQ号码进行排序,内存限制1G。...请注意,这里必须限制40亿个QQ号码互不相同。通过bitmap记录,客观上就自动完成了排序功能。 练习二 文件中有40亿个互不相同的QQ号码,求这些QQ号码的中位数,内存限制1G。...根据容斥原理可知: 因为QQ号码的个数是43亿左右(理论值2^32 - 1),所以80亿个QQ号码必然存在相同的QQ号码。 海量数据的问题,要具体问题具体分析,不要眉毛胡子一把抓。

1.1K10

腾讯三面:40亿个QQ号码如何去重?

具体的题目如下: 文件中有40亿个QQ号码,请设计算法对QQ号码去重,相同的QQ号码仅保留一个,内存限制1G.  这个题目的意思应该很清楚了,比较直白。...在原题中,实际有40亿个QQ号码,为了方便起见,在图解和叙述时,仅以4个QQ为例来说明。...方法一:排序 很自然地,最简单的方式是对所有的QQ号码进行排序,重复的QQ号码必然相邻,保留第一个,去掉后面重复的就行。...可是,面试官又要问你了:实际要存40亿QQ号码,1G的内存够分配这么多空间吗?显然不行,无法通过腾讯面试。 方法三:文件切割 显然,这是海量数据问题。...显然,可以推导出来:512MB大小足够标识所有QQ号码的存在与否,请注意:QQ号码的理论最大值为2^32 - 1,大概是43亿左右。

1.1K10

pythonqq图_python绘制散点图

由于最近在做数据分析时用到了,然而看了一些博客,要么是qq图讲解的比较详尽但是没有使用Python;要么是使用Python语言但是没有讲清楚原理。...基于此,想写一篇博客尽量讲清楚原理并且用Python实现出来。 qq图原理是比较两组数据的累计分布函数来判断两组数据是否是服从同一分布,所以第一步我们应该做两组数据的累计分布。...最后我们就可以做qq图做对比。...所以根据qq图,我们得出结论目标数据组服从正太分布。 上面是为了说明qq图的原理以及怎么使用pyhton进行手动操作,作为数据分析领域里比较全能的Python,它当然也是有包可以直接绘制qq图。...://stats.stackexchange.com/questions/139708/qq-plot-in-python https://docs.scipy.org/doc/scipy-0.16.0

2.1K20

ISBN号码

问题描述 试题编号: 201312-2 试题名称: ISBN号码 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   每一本正式出版的图书都有一个ISBN...号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的...编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出是正确的ISBN号码。...输入格式   输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。...输出格式   输出一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。

1K10

Python+Appium QQ登录Demo

一、设备准备 1、Android手机或者模拟器,安装有QQ软件 2、Uiautomatorviewer软件,sdk自带,在sdk目录下,使用方法介绍:https://www.cnblogs.com/lhx0827.../p/9577575.html 3、Pycharm集成环境,其他Python编程软件也可以 二、连接测试设备(本人使用的是华为平板) 1、Android真机连接 (1)USB数据线连接电脑和手机 (2)...如下图: 第一个设备是我连接的华为平板,第二个设备是Android-Genymotion模拟器,这次我做QQ登录的Demo是以华为平板作为测试设备。...三、安装Selenium和配置Appium 1、Selenium安装通过Python的pip命令安装:pip install selenium 2、配置Appium与手机的连接: (1)打开Appium...使用方法可以看一下链接: https://www.cnblogs.com/lazytest/p/5612709.html 附录: 遇到问题一: 代码运行出现以下图问题,解决办法如下: 最后录了登录QQ

71820
领券