只出现一次的数字 II
给你一个整数数组?nums ?,除某个元素仅出现?一次?外,其余每个元素都恰出现?三次 。请你找出并返回那个只出现了一次的元素。
示例 1:
输入:nums = [2,2,3,2]
输出:3
示例 2:
输入:nums = [0,1,0,1,0,1,99]
输出:99
提示:
1 <= nums.length <= 3 * 10^4 -2^31 <= nums[i] <= 2^31 - 1 nums ?中,除某个元素仅出现?一次?外,其余每个元素都恰出现?三次
#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
int singleNumber(vector<int> &nums)
{
sort(nums.begin(), nums.end());
int res = 0;
int i = 0;
for (int j = 1; j < nums.size(); j++)
{
if (nums[j] != nums[i])
{
if (j - i == 1)
{
res = nums[i];
break;
}
else
{
i = j;
}
}
}
if (i == nums.size() - 1)
{
res = nums[i];
}
return res;
}
};
|