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》中还有更难的形式,回头慢慢理解。

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

  • 相关阅读:
    [POI2010]Divine Divisor
    JOISC2014B たのしい家庭菜園
    Problem. C
    AGC004F Namori
    AGC007F Shik and Copying String
    AGC027C ABland Yard
    AGC028E High Elements
    JOI2017FinalE 縄
    CF797F Mice and Holes
    Problem. B
  • 原文地址:https://www.cnblogs.com/qinziang/p/9201797.html
Copyright © 2011-2022 走看看