统计单词出现的最多次数(Trie树)
2014-08-22 08:30
232 查看
A
Time Limit: 60ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
给出n(1<= n && n <= 2*10^6)个字符串,每个字符串只包含小写英文字母,且最多有五个。问这n个字符串中出现次数最多的有多少个。
输入
单组输入。第一行输入一个数字n,接下来n行,每行包含一个字符串。
输出
输出一个数字代表答案。
示例输入
5 aba abb w aba z
示例输出
2
#include <iostream> #include <vector> #include <algorithm> #include <cstring> #include <cstdio> using namespace std; const int maxn=900000; int ch[maxn][26];//ch[i][j]保存节点i的那个编号为j的子节点 int val[maxn];//记录每个单词上面的附加信息 int sz,Max=-1;//sz为节点总数 void insert(char *s)//插入 { int u=0,len=strlen(s); for(int i=0;i<len;i++) { int c=s[i]-'a'; if(!ch[u][c]) { memset(ch[sz],0,sizeof(ch[sz])); ch[u][c]=sz++; } u=ch[u][c]; } val[u]++; if(Max<val[u]) Max=val[u]; } int main() { char s[7];int n; scanf("%d",&n);getchar(); sz=1; memset(ch[0],0,sizeof(ch[0]));//最开始只有一个根节点 memset(val,0,sizeof(val)); while(n--) { scanf("%s",s); insert(s); } printf("%d\n",Max); return 0; }
相关文章推荐
- 统计单词出现的最多次数(Trie树)
- 统计连续出现次数最多的单词
- 转载:统计一串英文中出现次数最多的单词以及次数;
- Java统计英文句子中出现次数最多的单词并计算出现次数的方法
- 统计文件中出现次数最多的前10个单词
- sort +awk+uniq 统计文件中出现次数最多的前10个单词 (2012-12-05 15:57:12)转载▼ 标签: 转载 原文地址:sort +awk+uniq 统计文件中出现次数最多的前
- JAVA-统计英文句子中出现次数最多的单词和出现的次数
- HDU 1800 简单贪心 13.1.10用trie重做 ---其实是统计出现次数最多的单词
- 统计文件中出现次数最多的前10个单词
- 统计文本文件中单词出现次数最多的单词
- sort +awk+uniq 统计文件中出现次数最多的前10个单词
- 用python统计文本里的单词出现次数最多的10个
- 微软笔试题 统计英文电子书中出现次数最多的k个单词
- linux中sort(统计文件中出现次数最多的前10个单词)
- 统计一串字符串中出现次数最多和次多的单词
- 针对一个文件 统计其中的单词和字符数 找出文件中出现次数最多的单词数 将文件中出现的单词按频率进行排序并输出
- 统计文件中出现次数最多的前10个单词
- sort +awk+uniq 统计文件中出现次数最多的前10个单词
- 10025---sort +awk+uniq 统计文件中出现次数最多的前10个单词
- Linux命令经典面试题:统计文件中出现次数最多的前10个单词