饿了么三面
两个大文件,分别存放了很多数字,怎么找到两个文件所有相同的数字
全部评论
佬,请问现在有oc了的吗
首先,可以用 bit map 的方式来表示数出现的情况。具体地说,是申请一个长度为4 294 967295x2 的bit 类型的数组bitArr,用2 个位置表示一个数出现的词频,1B 占用8 个bit,所以长度为4 294 967 295x2 的 bit 类型的数组占用 1GB 空间。
遍历这 头一个文件,如果初次遇到num,就把bitArr[num*2 +1]和 bitArr[num*2]设置为01,
遍历第二个文件,如果第二次遇到 num,就把
bitArr[num*2+1]和bitArr[num*2]设置为 11
以后再遇到 num,发现此时 bitArr[num*2+1]和 bitArr[num*2]已经被设置为11,就不再做任何设置。
遍历完成后,再依次遍历 bitArr,如果发现bitArr[i*2+1]和bitArr[i*2]设置为11的情况,那么i就是出现了两次的数。
海量数据统计问题吗
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享