【leetcode】136. 只出现一次的数字

喜欢ヅ旅行 2022-11-06 07:59 268阅读 0赞

【leetcode】136. 只出现一次的数字

  • 题目
  • python3语言
  • C++语言

题目

在这里插入图片描述

python3语言

代码1:

  1. class Solution(object):
  2. def singleNumber(self, nums):
  3. """ :type nums: List[int] :rtype: int """
  4. newList=list(set(nums))*2
  5. for i in nums:
  6. newList.remove(i)
  7. return newList[0]

代码1,运行结果:
在这里插入图片描述
采用求和相减法:
代码2

  1. class Solution(object):
  2. def singleNumber(self, nums):
  3. """ :type nums: List[int] :rtype: int """
  4. return sum(set(nums))*2-sum(nums)

代码2,运行如下:
在这里插入图片描述

代码3:

  1. 思路,异或法:
  2. 2^2^1=2^1^2

具体代码如下:

  1. class Solution:
  2. def singleNumber(self, nums) :
  3. res = 0
  4. for i in nums:
  5. res = res ^ i
  6. return res

代码3,运行如下:
在这里插入图片描述

C++语言

代码1:

  1. class Solution {
  2. public:
  3. int singleNumber(vector<int>& nums) {
  4. int res=0;
  5. for (int num:nums) { res^=num;}
  6. return res;
  7. }
  8. };

代码1,运行如下:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,268人围观)

还没有评论,来说两句吧...

相关阅读

    相关 LeetCode136. 出现数字

    给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现

    相关 Leetcode 136. 出现数字

    题目重述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使

    相关 LeetCode136. 出现数字

    给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 解题分析:可用哈希表来存储数据 public static

    相关 leetcode:136. 出现数字

    题目: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用