zoukankan      html  css  js  c++  java
  • 找出只出现一次的数字-Python

    问题:

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

    方法:不需要额外空间实现,就要往位运算上想

    基本概念:

    异或满足交换律:a^b^c = a^c^b

    自己和自己做异或结果是0:n^n = 0

    0和任何数做异或结果是其本身:0^n = n

    # leetcode submit region begin(Prohibit modification and deletion)
    class Solution:
        def singleNumber(self, nums: List[int]) -> int:
            a = 0
            for i in nums:
                a = a ^ i
            return a
    # leetcode submit region end(Prohibit modification and deletion)
    时刻记着自己要成为什么样的人!
  • 相关阅读:
    原生js大总结十一
    jQuery快速入门知识重点
    原生js大总结九
    原生js大总结十
    原生js大总结八
    原生js大总结六
    原生js大总结七
    原生js大总结四
    原生js大总结五
    移动端适配
  • 原文地址:https://www.cnblogs.com/demo-deng/p/15245349.html
Copyright © 2011-2022 走看看