美文网首页
Single Number寻找单数

Single Number寻找单数

作者: 穿越那片海 | 来源:发表于2017-03-12 22:07 被阅读0次

Easy, bit manipulation

给定整数序列,其中除了一个数其他数都出现两次,找出该单数。复杂度O(N), 存储O(1)。

这道题本身是不难的,但是考虑到要控制复杂度为O(N),就只能遍历一次,可是又不能分配新的存储,就不得不考虑有什么trick。这里借鉴Nkeys的思路,利用异或求解。因为A XOR A = 0, A XOR 0 = A。非常聪明的解法。

class Solution(object):
    def singleNumber(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        res = 0
        for num in nums:
            res ^=num
        return res

相关文章

  • Single Number寻找单数

    Easy, bit manipulation 给定整数序列,其中除了一个数其他数都出现两次,找出该单数。复杂度O(...

  • 一篇文章搞懂面试中leetcode位操作算法题

    Single Number落单的数 落单的数 IISingle Number II Single Number I...

  • SIMD

    SISD: Single Instruction Single Data 单指令单数据 SIMD:Single I...

  • single number

    题目描述 给定一个整数数组,除了一个元素外,每个元素都会出现两次。找到那一个出现一次的元素。注意:时间复杂度O(n...

  • Single number

    用异或

  • Single Number

    题目要求找出在算法的时间复杂度为线性时间,且不占据额外的内存 下面讲解算法:该算法主要用到了位运算中的异或运算^,...

  • Single Number

    Single Number 今天是一道有关位运算的题目,来自LeetCode(#136),难度为Medium,Ac...

  • Single Number

    Problem Given an array of integers, every element appears...

  • Single Number

    Given an array of integers, every element appearstwiceexc...

  • Single Number

    Given an array of integers, every element appearstwiceexc...

网友评论

      本文标题:Single Number寻找单数

      本文链接:https://www.haomeiwen.com/subject/shmxnttx.html