欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

只出现一次的数II

程序员文章站 2024-03-16 20:24:04
...

来源:力扣(LeetCode)
题意:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。

示例 1:

输入: [2,2,3,2]
输出: 3
示例 2:

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

思路:我想的是,先排序这个数组,三个一样的数肯定在一起,那么从这个数组第一个元素开始遍历,如果当前元素(pos位置)和它的下一个元素相等,则把位置向后移两步(pos+=2),如果当前元素(pos位置)和它的下一个元素不相等,则停止遍历,则这个数就找到了!

 int singleNumber(vector<int>& nums) {
        sort(nums.begin(),nums.end());
        int i=0;
        for(;i<nums.size()-1;i++)
        {
            if(nums[i]==nums[i+1])
                i+=2;
            else
              break;
        }
        return nums[i];
    }

链接:https://leetcode-cn.com/problems/single-number-ii