zoukankan      html  css  js  c++  java
  • LeetCode 137. 只出现一次的数字 II

    给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。
    说明:
    你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?
    
    示例 1:
    输入: [2,2,3,2]
    输出: 3
    
    示例 2:
    输入: [0,1,0,1,0,1,99]
    输出: 99
    
    class Solution:
        def singleNumber(self, nums: List[int]) -> int:
            """
            考察点:
            1、位运算
            2、出现一次的元素和出现三次的元素的区别:进位
            可以用一个例子:[2,3,2,2] 观察规律。
            """
            once = twice = 0
            for num in nums:
                once = (num^once) & (~twice)
                twice = (num^twice) & (~once)
            return once
    
  • 相关阅读:
    python 练习 10
    python 练习 9
    运算符
    变量类型
    打印更多的变量
    变量和命名
    数字和数字计算
    第一个程序
    python 练习 8
    python 练习 7
  • 原文地址:https://www.cnblogs.com/sandy-t/p/13287769.html
Copyright © 2011-2022 走看看