ID | Title | Difficulty | |
---|---|---|---|
Loading... |
137. Single Number II
Medium
LeetCode
Array, Bit Manipulation
Problem
Given an integer array nums where every element appears three times except for one, which appears exactly once. Find the single element and return it.
You must implement a solution with a linear runtime complexity and use only constant extra space.
Example 1:
Input: nums = [2,2,3,2]
Output: 3
Example 2:
Input: nums = [0,1,0,1,0,1,99]
Output: 99
Constraints:
- $1 <= nums.length <= 3 * 10^4$
- $-2^{31} <= nums[i] <= 2^{31} - 1$
- Each element in nums appears exactly three times except for one element which appears once.
Code
class Solution {
public int singleNumber(int[] nums) {
int ones = 0;
int twos = 0;
for(int i = 0; i < nums.length; i++){
ones = (ones ^ nums[i]) & ~twos;
twos = (twos ^ nums[i]) & ~ones;
}
return ones;
}
}
按 <- 键看上一题!
136. Single Number
按 -> 键看下一题!
138. Copy List with Random Pointer