本文共 547 字,大约阅读时间需要 1 分钟。
题目
示例
解题思路
统计每个元素出现的次数, 然后找出出现次数为1的元素即可解题代码
def singleNumber(self, nums: List[int]) -> int: map1 = collections.Counter(nums) for k in map1: if map1[k] == 1: return k
分析
时间复杂度: O(n) 空间复杂度: O(n)解题思路
异或的性质
两个数字异或的结果a^b是将 a 和 b 的二进制每一位进行运算,得出的数字。 运算的逻辑是: 如果同一位的数字相同则为 0,不同则为 1异或的规律
任何数和本身异或则为0
任何数和 0 异或是本身
异或运算满足交换律,即:a ^ b ^ c = a ^ c ^ b
解题代码
def singleNumber(self, nums: List[int]) -> int: result = 0 for ele in nums: result ^= ele return result
分析
时间复杂度: O(n) 空间复杂度: O(1)转载地址:http://fium.baihongyu.com/