zoukankan      html  css  js  c++  java
  • ★ Leetcode-探索 | 只出现一次的数字

    给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

    说明:

    你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

    示例 1:

    输入: [2,2,1]
    输出: 1
    

    示例 2:

    输入: [4,1,2,1,2]
    输出: 4

    ——————————————————————————————————————————————

    这题给出的时空复杂度分别为O(n)和O(1)的限制让很多想法都不可行了。

    自己做的时候是想到了解题的希望在于对数字进行处理,但无论是求和还是减去某个数字都不好产生思路。

    用异或的方法可以解决本题目,另外也要注意连续异或在python等语言中的计算方式。

    此题在《剑指offer》中还有更难的形式,回头慢慢理解。

    这种技巧其实是一种小范围的处理数值的通法,不要理解成奇技淫巧。

  • 相关阅读:
    websocket --工作原理
    RabbitMQ
    django-缓存机制,form组件
    rabbitmq-安装
    学城项目
    django的orm--contenttype操作
    rest-framework序列化
    python模块与包
    python中的模块和包
    匿名函数python内置高阶函数以及递归
  • 原文地址:https://www.cnblogs.com/qinziang/p/9201797.html
Copyright © 2011-2022 走看看