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

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

  • 相关阅读:
    每日一(水)题
    操作树学习笔记
    「THUSCH 2017」大魔法师
    几个规律
    DP专题(DP进阶题单 )
    康托展开&逆康托展开
    一道题目
    P5629 【AFOI-19】区间与除法 题解
    留言板
    NOIP2020考试总结
  • 原文地址:https://www.cnblogs.com/qinziang/p/9201797.html
Copyright © 2011-2022 走看看