class Solution {
public:
int singleNumber(vector<int>& nums) {
}
};
剑指 Offer 56 - II. 数组中数字出现的次数 II
在一个数组 nums
中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。
示例 1:
输入:nums = [3,4,3,3] 输出:4
示例 2:
输入:nums = [9,1,7,9,7,9,7] 输出:1
限制:
1 <= nums.length <= 10000
1 <= nums[i] < 2^31
原站题解
python3 解法, 执行用时: 48 ms, 内存消耗: 16.1 MB, 提交时间: 2022-11-13 11:26:03
class Solution: def singleNumber(self, nums: List[int]) -> int: return (3*sum(list(set(nums)))-sum(nums))//2
python3 解法, 执行用时: 60 ms, 内存消耗: 16.2 MB, 提交时间: 2022-11-13 11:24:54
class Solution: def singleNumber(self, nums: List[int]) -> int: ones, twos = 0, 0 for num in nums: ones = ones ^ num & ~twos twos = twos ^ num & ~ones return ones
python3 解法, 执行用时: 48 ms, 内存消耗: 16.3 MB, 提交时间: 2022-11-13 11:13:10
class Solution: def singleNumber(self, nums: List[int]) -> int: c = Counter(nums) for (k, v) in c.items(): if v == 1: return k return 0