题目描述:
给你一个整数数组 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
方法1:
主要思路:
(1)先对元素中的数组进行统计,然后对统计后的元素遍历,找出出现次数为1的最大的数;
class Solution {
public:
int largestUniqueNumber(vector<int>& A) {
unordered_map<int,int> mp;
//统计元素
for(int&a:A){
++mp[a];
}
int res=-1;
//找出出现次数为1的最大的元素
for(auto&it:mp){
if(it.second==1){
res=max(res,it.first);
}
}
return res;
}
};