unordered_map使用散列表,查找时间复杂度为常数级
#include <iostream> #include <unordered_map> using namespace std; int main() { int n; while (cin >> n) { // 注意 while 处理多个 case // cout << a + b << endl; unordered_map<int, int> scoreMap; while (n--) { int score; cin >> score; scoreMap[score]++; } int lookUp; cin >> lookUp; if (scoreMap.find(lookUp) == scoreMap.end()) { cout << '0' << endl; } else cout << scoreMap[lookUp] << endl; } } // 64 位输出请用 printf("%lld")