In this post, we are going to solve the Single Number II Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

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 * 104
-231 <= nums[i] <= 231 - 1
- Each element in
nums
appears exactly three times except for one element which appears once.
Now, let’s see the leetcode solution of Single Number II Leetcode Solution.
Single Number II Leetcode Solution in Python
class Solution: def singleNumber(self, nums: List[int]) -> int: ones = 0 twos = 0 for num in nums: ones ^= num & ~twos twos ^= num & ~ones return ones
Single Number II Leetcode Solution in CPP
class Solution { public: int singleNumber(vector<int>& nums) { int ans = 0; for (int i = 0; i < 32; ++i) { int sum = 0; for (const int num : nums) sum += num >> i & 1; sum %= 3; ans |= sum << i; } return ans; } };
Single Number II Leetcode Solution in Java
class Solution { public int singleNumber(int[] nums) { int ans = 0; for (int i = 0; i < 32; ++i) { int sum = 0; for (final int num : nums) sum += num >> i & 1; sum %= 3; ans |= sum << i; } return ans; } }
Note: This problem Single Number II is generated by Leetcode but the solution is provided by Chase2learn This tutorial is only for Educational and Learning purpose.