C++ map
第一次练习使用C++的map
题目相关:统计同一个元素出现次数。
链接:https://ac.nowcoder.com/acm/contest/11189/A
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
unordered_map<ll, ll> mp;
int main()
{
mp.clear();
ll n, Mx = 0, a, sum = 0;
cin >> n;
while (n--)
{
cin >> a;
mp[a]++;
Mx = max(Mx, mp[a] * a);
}
cout << Mx;
return 0;
}
两个Get点,map可以用[ ]访问,访问不存在key时则自动创建。 (懂了,那基本就是用它自动创建了)
然后map是给key排序的,低层是红黑树,对于那些有顺序要求的问题,用map会更高效一些。
如果不需要排序,而是查找问题,可以用unordered_map,底层是哈希表,查找更快。

浙公网安备 33010602011771号