当前位置: 首页 > 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

相关文章:

  • Windows、CentOS环境下搭建自己的版本管理资料库:GitBlit
  • iLoveIMG:强大的在线图片编辑工具分享
  • YoloV8改进策略:Head改进|DynamicHead,利用注意力机制统一目标检测头部|即插即用
  • BunkerWeb 开源项目安装与使用教程
  • git命令恢复/还原某个文件、删除远程仓库中的文件
  • DataX与DataX-Web安装与使用
  • 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算法