概述
给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。
示例 1 :
输入:nums = [2,2,1]
输出:1
示例 2 :
输入:nums = [4,1,2,1,2]
输出:4
示例 3 :
输入:nums = [1]
输出:1
提示:
1 <= nums.length <= 3 * 104
-3 * 104 <= nums[i] <= 3 * 104
除了某个元素只出现一次以外,其余每个元素均出现两次。
作答如下:
用到了内置的函数:list.count
class Solution:
def singleNumber(self, nums: List[int]) -> int:
for i in range(0,len(nums)):
if nums.count(nums[i])==1:
return nums[i]
return 0
set集合
class Solution:
def singleNumber(self, nums: List[int]) -> int:
set1=set()
for i in nums:
if i in set1:
set1.remove(i)
else:
set1.add(i)
for i in set1:
return i
异或
- 任何数与0异或等于任何数
- n与n异或等于0
class Solution: def singleNumber(self, nums: List[int]) -> int: a=0 for i in range(len(nums)): a=a^nums[i] return a
最后
以上就是传统小蝴蝶为你收集整理的LC初级算法:只出现一次的数字-Python的全部内容,希望文章能够帮你解决LC初级算法:只出现一次的数字-Python所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复