只出现一次的数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
上一篇: 几种常见的加密算法及 Java 实现
推荐阅读
-
找一个数组中数字只出现一次的那个数字
-
只出现一次的数II
-
java实现 一个数组中只有一个数仅出现了一次,剩下的都出现了K次,求只出现了一次的那个数
-
一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。(使用位运算)
-
求数组中都是成对出现的数中,只出现一次的数字——异或的方法
-
给出2n+1(2n+2)个数,其中有n个数是成对出现的,找出只出现一次的一个数/两个数
-
实现一个位图、100亿个整数找出只出现一次的整数、找出现次数不超多2次的数
-
找出数组中只出现一次的2个数字,其他数字都出现2次
-
怎么在一次循环内找出一个数组最小的2个数
-
用1-9九个数组成三个三位数abc,def,ghi每个数字使用一次,要求这三个三位数形成1:2:3的关系