列表

详情


剑指 Offer 56 - II. 数组中数字出现的次数 II

在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。

 

示例 1:

输入:nums = [3,4,3,3]
输出:4

示例 2:

输入:nums = [9,1,7,9,7,9,7]
输出:1

 

限制:

 

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int singleNumber(vector<int>& nums) { } };

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

上一题