Leetcode 只出现一次的数字 II

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。

示例 1:

输入:nums = [2,2,3,2]
输出:3

示例 2:

输入:nums = [0,1,0,1,0,1,99]
输出:99

提示:

  • 1 <= nums.length <= 3 * 104
  • -231 <= nums[i] <= 231 - 1
  • nums 中,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次

class Solution {
    
    
public:
    int singleNumber(vector<int>& nums) {
    
    
		if(nums.size()==1)
			return nums[0];
		sort(nums.begin(),nums.end());
		for(int i=1;i<nums.size();)
		{
    
    
			if(nums[i-1]!=nums[i])
				return nums[i-1];
			else
				i+=3;
		}
		return nums[nums.size()-1];
    }
};

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45662588/article/details/120592148