当前位置: 首页 > article >正文

LeetCode 137. 只出现一次的数字 II

LeetCode 137. 只出现一次的数字 II

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。
你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。
示例 1:
输入:nums = [2,2,3,2]
输出:3
示例 2:
输入:nums = [0,1,0,1,0,1,99]
输出:99
提示:
1 <= nums.length <= 3 * 104
-231 <= nums[i] <= 231 - 1
nums 中,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次

符号位特殊处理解释见这篇文章

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        res = 0
        for i in range(32):
            total = 0
            for num in nums:
                total += (num >> i) & 1  # (num >> i) % 2
            if total % 3:
                res |= 1 << i
        flag = (res >> 31) & 1
        if flag:
        	res |= (-1 << 32)
        return res

http://www.kler.cn/a/321514.html

相关文章:

  • 【Window主机访问Ubuntu从机——Xrdp配置与使用】
  • 用枚举算法解决LeetCode第3348题最小可整除数位乘积II
  • 从swagger直接转 vue的api
  • 重卡穿越商都,ROG DAY 2024郑州站高燃来袭
  • 基于RK3568J多网口电力可信物联网关解决方案
  • 3D编辑器教程:如何实现3D模型多材质定制效果?
  • Linux安装vim超详细教程
  • MySQL重点,面试题
  • 深入Android UI开发:从自定义View到高级布局技巧的全面学习资料
  • RestSharp简介
  • 通信工程学习:什么是SDN软件定义网络
  • 电脑如何设置代理IP:详细步骤指南
  • STM32 入门教程(江科大教材)#笔记4
  • 01.前端面试题之ts:说说如何在Vue项目中应用TypeScript?
  • 趣笔阁爬虫实验
  • Hadoop FileSystem Shell 常用操作命令
  • GO Message Bus
  • 【Python报错已解决】AttributeError: ‘tuple‘ object has no attribute ‘log_softmax‘
  • 华为为什么要做三折叠屏手机?
  • (已解决)torch.load的时候发生错误ModuleNotFoundError: No module named ‘models‘
  • kafka分区和副本的关系?
  • 深度学习:ResNet残差神经网络
  • 【OpenSSL】OpenSSL 教程
  • C++ 数据类型分类
  • Android12的netd分析
  • 解析Vue2源码中的diff算法