问题描述
有一个文本文件,有一千万条数据,每行是一个单词,如何统计出,最早出现10次的10个单词
解决方案
解决方案二:
最早出现10次的10个单词?那貌似只能是最普通的linearsearchalgorithm
解决方案三:
用VECTORfor每次检查,没有就赋值为1,有则++,最后再FOR<10这法有点笨,不过应该行吧,就是一千万,多了点
解决方案四:
你用一个循环去查找空格位置个数啊,一个单词用一个空格符作为结尾来区别,找到一个循环变量i,自增加1;如果你要找到最先出现的十个单词,用一个数组arr[i]存储,然后在i=10(循环条件i<10)的时候跳出循环,返回数组...
解决方案五:
如果java费劲,可以利用一下数据库,将所有数据插入一张表,并有一列ID值代表行号和一列a存放单词。然后利用sql语句进行操作。先按a分组,并按ID进行排序,利用java取出每组中的第十行的行号he单词,然后对取出的行号进行排序,取前十个就是了。
解决方案六:
我觉得你可以用map集合把所有的单词存起来map<String,int>String存单词,int存出现的出数。每出现一次就加一!我想map应该快一些吧!
解决方案七:
引用5楼dinglongfei的回复:
我觉得你可以用map集合把所有的单词存起来map<String,int>String存单词,int存出现的出数。每出现一次就加一!我想map应该快一些吧!
你觉得全部存起来这样不会内存溢出么?>
解决方案八:
用正则表达式啊
时间: 2024-08-30 17:52:02