网易有道嵌入式笔试 单词出现的频率"/>
网易有道嵌入式笔试 单词出现的频率
小易今天读了一篇英语文章,他现在想从里面找出一个单词作为这
篇文章的关键词,一个单词可以作为关键词当且仅当它在这篇文章
中出现的频率不低于1%,现在他想知道有多少个不同的单词可以
作为关键词。
输入描述:
第一行一个正整数n,代表这篇文章的单词总数。
接下来n行每行一个字符串,代表-一个单词,单词仅由大小写
英文字母组成。
1<= n<= 106
保证所有的字符串长度之和不超过106
输出描述:
仅-行一个整数表示答案。
示例1输入输出示例仅供调试,后台判题数据一般不包含示例
输入
复制
5
I
am
a
boy
输出
复制
4
说明
单词I出现的频率为40% , 其他单词出现的频率均为
20%。所以都可以作为关键词。
/*功能:*/
#include<bits/stdc++.h>using namespace std;int main()
{int n;cin>> n;int edge = ceil((float)n * 0.01);// cout<< "n:" << n << endl;map<string, int> mp;set<string> se;for(int i = 0; i < n ;++i){string str;cin>>str;mp[str]++;if(mp[str] >= edge){se.insert(str);}}cout<<se.size() <<endl;return 0;
}
更多推荐
网易有道嵌入式笔试 单词出现的频率
发布评论