Given an array of integers, every element appears three times except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
用one, two, three标记当前数出现一次、两次、三次。每处理一个数时分别计算与、异或、非,当前数字出现三个时前两个变量为1, 第3个变量为0;从而清除该数字;最后保留下来的one就是出现了一次的数字。
class Solution {
public:
int singleNumber(int A[], int n) {
int one = 0, two = 0, three = 0;
for(int i = 0; i < n; ++i) {
two |= one & A[i];
one ^= A[i];
three = ~(one & two);
one &= three;
two &= three;
}
return one;
}
};
分享到:
相关推荐
《位运算处理数组中的数——以LeetCode Single Number II为例》 在计算机科学中,位运算是一种高效且灵活的数据处理手段,尤其在处理数组中特定数值的问题时,它能展现出强大的能力。LeetCode上的Single Number II...
《Single Number算法详解与调试演示》 在编程领域,算法是解决问题的核心工具,而Single Number问题则是一个典型的算法题目。这个题目要求在一个整数数组中,找出唯一出现一次的数字,而其他数字都出现了两次。这是...
python python_leetcode题解之137_Single_Number_II
在本压缩包中,我们关注的是一个Python编程与LeetCode面试相关的题目——“只出现一次的数字II”(Single Number II)。这是一道常见的数据结构与算法问题,常常出现在求职面试中,对于考察应聘者对位操作、哈希表...
34. Single Number II:数组中除一个数字外,其他数字都出现了三次,找出只出现一次的数字。 六、其他 35. Spiral Matrix:按螺旋方式打印矩阵。 36. Integer to Roman:将整数转换为罗马数字。 37. Roman to ...
34. Single Number II:找出数组中唯一不出现一次的数字,数组中每个数字出现三次。 【杂项】 35. Spiral Matrix:螺旋遍历矩阵。 36. Integer to Roman:整数转换成罗马数字。 37. Roman to Integer:罗马数字转换...
- "数组中两个数字只出现一次"(Single Number II)则是进一步考察位运算技巧。 ** Miscellaneous(杂项)** 杂项部分包括了一些不那么容易归类的问题,如螺旋矩阵(Spiral Matrix)、整数转罗马数字(Integer to ...
Number(落单的数) 、 / Medium Single Number II(落单的数 II) 、 Medium Single Number III(落单的数 III) Medium Hash Function(哈希函数) Easy Space Replacement(空格替换) Easy Insert Interval Easy Two ...
python python_leetcode题解之136_Single_Number
137 | [Single Number II](https://leetcode.com/problems/single-number-ii/) | [C++](./C++/single-number-ii.cpp) [Python](./Python/single-number-ii.py) | _O(n)_ | _O(1)_ | Medium ||| 190 | [Reverse Bits]...
- **2.1.24 Single Number II** - 找出数组中只出现一次的数字,其余数字均出现三次。 - 实现思路:位操作,利用位掩码记录每位出现次数。 - **2.2 单链表** - **2.2.1 Add Two Numbers** - 两个链表表示的...
javascript js_leetcode题解之136-single-number.js
在Xcode中,开发者可以创建一个新的项目,选择Single View App模板,然后在主视图控制器中编写代码来实现随机数的生成。 在Objective-C中,我们可以使用`arc4random_uniform()`函数来生成指定范围内的随机数。这个...
As each number is read, print it only if it is not a duplicate of a number already read. Prepare for the “worst case” in which all 20 numbers are different. Use the smallest possible array to solve...
We consider the problem of estimating detailed 3D structure from a single still image of an unstructured environment. Our goal is to create 3D models that are both quantitatively accurate as well as ...
- `Solution` 类包含了一个名为 `singleNumber` 的方法,该方法接收一个整型数组 `nums` 作为参数。 - 在 `singleNumber` 方法内部,定义了一个变量 `result` 初始化为 0。 - 使用增强型 for 循环遍历数组 `nums`,...
Deep Mixture density network for voice conversion. Single layer Multi Layer Perceptron Neural Network with desired number of mixure components.
As each number is read, print it only if it is not a duplicate of a number already read. Prepare for the “worst case” in which all 20 numbers are different. Use the smallest possible array to solve...
PAT甲级 1024 Palindromic Number A number that will be the same when it is written... All single digit numbers are palindromic numbers. Non-palindromic numbers can be paired with palindromic ones via a se