给你一个整数数组 A,请找出并返回在该数组中仅出现一次的最大整数。
如果不存在这个只出现一次的整数,则返回 -1。
示例 1:
输入:[5,7,3,9,4,9,8,3,1]
输出:8
解释:
数组中最大的整数是 9,但它在数组中重复出现了。而第二大的整数是 8,它只出现了一次,所以答案是 8。
示例 2:
输入:[9,9,8,8]
输出:-1
解释:
数组中不存在仅出现一次的整数。
提示:
1 <= A.length <= 2000
0 <= A[i] <= 1000
C++
class Solution {
public:
int largestUniqueNumber(vector<int>& A) {
map<int, int> mp;
for(auto x : A){
mp[x]++;
}
int mx = -1;
for(auto [key, value] : mp){//遍历mp新用法[变量名1, 变量名2] 分别表示key和value
if(value == 1 && key > mx){ //只出现一次,更新max
mx = key;
}
}
return mx;
}
};
for(auto [key, value] : mp)
遍历mp新用法:[变量名1, 变量名2] 分别表示key和value