查找问题map很好用,基本都能解决大部分的问题,大概的考法有下面几种
- 输入N个数,统计某个数出现的次数。常规的哈希题。
- 输入N个数,求其中前m大的数,其中区间是给定的。也是用常规哈希做,正常sort排序可能会超时。
- 最经典的题 问成绩一样的同学的人数
#include <iostream>
#include <map>
using namespace std;
int main(){
map<int,int> grade;
int n;
while (cin>>n){
for(int i = 0;i < n;i++){
int gpa;
cin>>gpa;
grade[gpa]++;
}
int tmp;
cin>>tmp;
cout<<grade[tmp]<<endl;
grade.clear();
}
return 0;
}
网友评论