统计大文件中字符串出现的次数
2023-02-18 16:41:49 时间
面试场景题
如果有一个大文件,里面全是ip字符串,现在需要统计每个ip出现的次数,并且ip长度都挺长的,怎么在不使用map的情况下怎么统计,或者怎么优化
hashmap
要统计单词的次数,可以直接上map,但是可能字符会占挺多内存,这时候可以考虑字符转化为int之后再进行map,如果是ip字符串可以参考
字典树
struct Trie{
Trie* son[26];
int cnt=0;
Trie(){
for(int i=0;i<26;i++){
son[i]=nullptr;
}
}
};
class WordsFrequency {
private:
Trie *root;
public:
WordsFrequency(vector<string>& book) {
root=new Trie();
Trie* temp;
for(auto item:book){
temp = root;
for(auto ch:item){
int index=ch-'a';
if(!temp->son[index]) temp->son[index]=new Trie();
temp=temp->son[index];
}
++temp->cnt;
}
}
int get(string word) {
Trie* temp=root;
for(auto ch:word){
int index=ch-'a';
if(temp->son[index]) temp=temp->son[index];
else return 0;
}
return temp->cnt;
}
};
相关文章
- 沉浸式体验飞鸟的快乐:从一张照片生成3D航拍视频
- 人脸神经辐射场的掩码编辑方法NeRFFaceEditing,不会三维建模也能编辑立体人脸
- 不能飞的风火轮!用AI造出世界最快的鞋子,时速最高11公里
- Diffusion预训练成本降低6.5倍,微调硬件成本降低7倍!Colossal-AI完整开源方案低成本加速AIGC产业落地
- NeurIPS 2022 | 如何正确定义测试阶段训练?顺序推理和域适应聚类方法
- 把Stable Diffusion模型塞进iPhone里,做成APP一分钟出图
- 国产手机芯二代标杆:vivo自研芯片V2出炉,将随X90月底发布
- 元宇宙的前世今生,业内大佬带你一遍过!
- 2022-12-15:寻找用户推荐人。写一个查询语句,返回一个客户列表,列表中客户的推荐人的编号都 不是 2。 对于示例数据,结果为: +------+ | n
- 2022RubyMine激活码(2022RubyMine最新激活码)2022RubyMine激活码
- Xilinx Zynq7035算力指标
- Hybrid模式下的热更新技术方案
- 电商收付通系统,可视化进件二级商户
- TKE/EKS集群通过logrotate切割nginx-ingress访问日志
- 给hash表分片:降低锁粒度,提高锁性能
- React渲染机制
- React源码之useState,useReducer
- React Context源码解读
- react源码中的合成事件
- 深入react源码中的setState