PHP笔试题:内存1G, 硬盘有100G数据,如何取所有数据的前10个词的词频

PHP笔试题:内存1G, 硬盘有100G数据,如何取所有数据的前10个词的词频

清欢 发布于 2021-11-29 字数 0 浏览 820 回复 17

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(17

坐在坟头思考人生 2021-12-01 17 楼

不想编码的话,就用压缩工具. 比如指定霍夫曼编码,导出码表,或者制定LWZ,再统计词条

妖妓 2021-12-01 16 楼

如果重复率很低,估计数组就爆了~

因为看清所以看轻 2021-12-01 15 楼

回复
好多种情况呢。。还可以把数组序列化放到硬盘啊啥的。。这考题我记得是C写的。。哎。。

等风来 2021-12-01 14 楼

其实是想考你的是把数据分片读到内存,然后清理 ,用一个数组统计他的频率 。。。

坚持沉默 2021-12-01 13 楼

装个Mysql,把数据放入到数握表里caoPHP:name,counted, 

name唯一索引,counted索引

边插边统计(通常词已知词不会超过30万的),累计相同的数量保存在counted.

select * from caoPHP order by couned desc limit 10;

成熟的代价 2021-12-01 12 楼

这种问题一般用能控制内存的语言会好点.他是想问C.

以块的方式读取就好了,然后在空格分割.计算完了再读下一个块.

岁月打碎记忆 2021-12-01 11 楼

100G哦。能给个种子下载吗

输什么也不输骨气 2021-12-01 10 楼

面试官要求

混吃等死 2021-12-01 9 楼

@布洛克斯 要是面试官强制这样问的话,我对这样的公司我就放弃了~~

韬韬不绝 2021-12-01 8 楼

...这和语言无关啊,就是想知道面试的PHPER是否会算法啊

把昨日还给我 2021-12-01 7 楼

这种事儿为嘛要用PHP做???

筱武穆 2021-12-01 6 楼

既然是笔试题,这种情况当然不存在

眉黛浅 2021-12-01 5 楼

如果有个“词”本身就大于1G,咋办?

悟红尘 2021-12-01 4 楼

哈哈,奥观海说的可是冒泡排序啊

终遇你 2021-11-30 3 楼

想问分治算法就直说,一旦捅出奥巴马的俏皮话怎么解释。

多情癖 2021-11-30 2 楼

每行一个词

不乱于心 2021-11-29 1 楼

100G数据是指什么鬼?