背景 之前找工作在腾讯面试遇到了一个很有意思的面试题,当时我记得现场还没有答出来,后来回家想了一下其实也没有那么难,而且还挺有意思的,今天做个整理分享给大家,希望对你有用 题目如下 文件中有20亿个QQ号码,请设计算法对QQ号码去重,相同的QQ号码仅保留一个,内存限制1G. ...
这是腾讯三面的题:链接https: blog.csdn.net dabaoshiwode article details 具体的题目如下:文件中有 亿个QQ号码,请设计算法对QQ号码去重,相同的QQ号码仅保留一个,内存限制 G. 原题看链接,这里自己理解下bitmap是怎么做到的。前置知识bitmap 用hashmap去重的话,用int类型 ,负数也算上。 那么一个int类型 位, 个字节。 需要 ...
2021-12-20 11:26 0 1104 推荐指数:
背景 之前找工作在腾讯面试遇到了一个很有意思的面试题,当时我记得现场还没有答出来,后来回家想了一下其实也没有那么难,而且还挺有意思的,今天做个整理分享给大家,希望对你有用 题目如下 文件中有20亿个QQ号码,请设计算法对QQ号码去重,相同的QQ号码仅保留一个,内存限制1G. ...
在数据开发中,我们不难遇到重复数据的问题,搞过这类数据开发的同志肯定觉得,重复数据是真的烦人,特别是当数据量十分大的时候,如果我们用空间复杂度去换时间复杂度,会十分耗内容,稍不注意,就会内存溢出,那么针对如此庞大的数据量我们一般能怎么解决呢?下面分享几个方案: 方案一、根据一定规则分层去重 ...
bitmap去重与布隆过滤器原理 1. bitmap去重 通过一个比特位来存一个地址,占用内存很小 2. 布隆过滤器 BloomFilter 会开辟一个m位的bitArray(位数组),开始所有数据全部置 0 。当一个元素过来时,能过多个哈希函数(h1,h2,h3....)计算不同的在哈希 ...
题目描述 给你一个文件,里面包含40亿个整数,写一个算法找出该文件中不包含的一个整数, 假设你有1GB内存可用。 如果你只有10MB的内存呢? 解题思路 对于40亿个整数,如果直接用int数组来表示的大约要用4010^84B=16GB,超出了内存要求,这里 我们可以用 ...
输入一个列表,去掉列表中重复的数字,按原来次序输出! 输入格式: 在一行中输入列表 输出格式: 在一行中输出不重复列表元素 输入样例: 在这里给出一组输入。例如: [4,7,5,6,8, ...
背景 最近工作中遇到了一个问题:如何对大规模题库去重?公司经过多年的积累,有着近亿道题目的题库,但是由于题目来源不一导致题库中有很多重复的题目,这些重复的题目在检索时,除了增加搜索引擎的计算量外,并不会提高准确率。此外由于题目过多,搜索引擎往往采取了截断策略,只对一部分题目进行计算,这导致 ...
1、问题 问题提出: M(如10亿)个int整数,只有其中N个数重复出现过,读取到内存中并将重复的整数删除。 2、解决方案 问题分析: 我们肯定会先想到在计算机内存中开辟M个int整型数据数组,来one bye one读取M个int类型数组, 然后在一一比对数值,最后将重复数据的去掉 ...
import java.util.Arrays; import java.util.Random; public class HomeWork02 { public s ...