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

137. 只出现一次的数字 II

137. 只出现一次的数字 II

  • 题目-中等难度
  • 1. 位运算
  • 2. 位运算

题目-中等难度

给你一个整数数组 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 中,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/single-number-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

1. 位运算

class Solution:def singleNumber(self, nums: List[int]) -> int:# 初始化32位计数器counts = [0] * 32# 遍历数组中的每个数字for num in nums:for i in range(32):# 统计第i位的1的个数counts[i] += (num >> i) & 1# 还原结果res = 0for i in range(32):# 只保留模3后剩余的位res |= (counts[i] % 3) << i# 处理符号位(第31位为符号位)if res >= 2**31:res -= 2**32return res

2. 位运算

class Solution:def singleNumber(self, nums: List[int]) -> int:ones, twos = 0, 0for num in nums:# 更新 ones 和 twos# 将当前数字 num 的每一位与 ones 的当前位进行异或操作,并用~two清除那些已经被记录为两次的位ones = (ones ^ num) & ~twos# 将当前数字 num 的每一位与 twos 的当前位进行异或操作,并用~one清除那些已经被记录为一次的位twos = (twos ^ num) & ~onesreturn ones

相关文章:

137. 只出现一次的数字 II

137. 只出现一次的数字 II 题目-中等难度1. 位运算2. 位运算 题目-中等难度 给你一个整数数组 nums &#xff0c;除某个元素仅出现 一次 外&#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法且使用常数…...

【力扣热题100】—— Day18.将有序数组转换为二叉搜索树

期末考试完毕&#xff0c;假期学习开始&#xff01; —— 25.1.7 108. 将有序数组转换为二叉搜索树 给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵平衡二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] …...

PyTorch 官方文档 中文版本

文档来源 https://pytorch.cadn.net.cn 大多数机器学习工作流都涉及处理数据、创建模型、优化模型 参数&#xff0c;并保存经过训练的模型。本教程向您介绍完整的 ML 工作流 在 PyTorch 中实现&#xff0c;并提供了用于了解有关每个概念的更多信息的链接。 我们将使用 Fashion…...

电力智能问答RAG: 多问题生成、思维链提示生成;混合编码和重排序策略

电力智能问答RAG 目录 电力智能问答RAG文档转换、元信息抽取与增强及文档解析模块多问题生成、思维链提示生成和指令微调数据集构建模块混合编码和重排序策略文档转换、元信息抽取与增强及文档解析模块 在电力领域的知识处理中,文档转换、元信息抽取与增强及文档解析模块发挥…...

C#高级:递归4-根据一颗树递归生成数据列表

一、目的 该程序展示了如何将树形结构的数据&#xff08;例如家庭成员信息&#xff09;转化为一维列表形式&#xff0c;以便于存储、展示或操作。 二、流程思路 创建树&#xff1a;首先通过 GetDemoTree 创建一个简单的家庭树&#xff0c;树的根节点是“爸爸”&#xff0c;然…...

PDFelement 特别版

Wondershare PDFelement Pro 是一款非常强大的PDF编辑软件&#xff0c;它允许用户轻松地编辑、转换、创建和管理PDF文件。这个中文特别版的软件具有许多令人印象深刻的功能&#xff0c;PDFelement Pro 提供了丰富的编辑功能&#xff0c;可以帮助用户直接在PDF文件中添加、删除、…...

云计算在医疗行业的应用

云计算在医疗行业的应用广泛而深入&#xff0c;为医疗服务带来了前所未有的变革。以下是对云计算在医疗行业应用的详细解析&#xff1a; ### 一、医疗数据共享与整合 云计算平台具有强大的数据存储和处理能力&#xff0c;使得医疗数据共享与整合成为可能。通过云计算平台&…...

(转)rabbitmq怎么保证消息不丢失?

RabbitMQ 可以通过以下多种机制来保证消息不丢失&#xff1a; 生产阶段 - 持久化队列和交换器&#xff1a; - 在声明队列和交换器时&#xff0c;将 durable 参数设置为 true &#xff0c;确保它们是持久化的。这样&#xff0c;即使 RabbitMQ 节点重新启动&#xff0c;队列和交…...

每日一题:链表中环的入口结点

文章目录 判断链表环的入口节点描述数据范围&#xff1a;复杂度要求&#xff1a;输入输出 示例代码实现思路解析注意事项&#xff1a; 判断链表环的入口节点 描述 给定一个链表&#xff0c;判断该链表是否存在环。如果存在环&#xff0c;返回环的入口节点&#xff1b;如果不存…...

k8s里面etcd的作用

etcd 是 Kubernetes 集群中一个至关重要的组件,它是一个开源的分布式键值存储系统,主要用于存储和管理 Kubernetes 集群的配置和状态信息。以下是 etcd 在 Kubernetes 中的具体作用和功能: ### 1. **集群状态存储** etcd 是 Kubernetes 集群的持久化存储后端,负责存储和管…...

使用 uniapp 开发微信小程序遇到的坑

0. 每次修改代码时&#xff0c;都会触发微信开发工具重新编译 终极大坑&#xff0c;暂未找到解决方案 1. input 无法聚焦问题 问题&#xff1a;在小程序开发工具中&#xff0c;input 会突然无法聚焦&#xff0c;重启也不行。但是真机调试可以正常聚焦。 解决办法&#xff1a…...

AlphaPi相关硬件驱动提取

初涉硬件编程&#xff0c;在咸鱼上搞了几块AlphaPi和microbit的板鼓捣了一下&#xff0c;alphapi生态不完善&#xff0c;网上又无任何文档&#xff0c;搞封闭&#xff0c;可玩性实在有限&#xff0c;但貌似相关扩展板是可以插microbit的&#xff0c;于是想把这些扩展版用microb…...

【学习笔记】数据结构(十)

内部排序 文章目录 内部排序10.1 概述10.2 插入排序10.2.1 直接插入排序10.2.2 其他插入排序10.2.2.1 折半插入排序(Binary Insertion Sort)10.2.2.2 2-路插入排序&#xff08;Two-Way Insertion Sort&#xff09;10.2.2.3 表插入排序&#xff08;Table Insertion Sort&#xf…...

Unity中 Xlua使用整理(二)

1.Xlua的配置应用 xLua所有的配置都支持三种方式&#xff1a;打标签&#xff1b;静态列表&#xff1b;动态列表。配置要求&#xff1a; 列表方式均必须是static的字段/属性 列表方式均必须放到一个static类 建议不用标签方式 建议列表方式配置放Editor目录&#xff08;如果是H…...

刚体变换矩阵的逆

刚体运动中的变换矩阵为&#xff1a; 求得变换矩阵的逆矩阵为&#xff1a; opencv应用 cv::Mat R; cv::Mat t;R.t(), -R.t()*t...

高等数学-----极限、函数、连续

考研数学笔记...

ubuntu 创建服务、查看服务日志

1. 在 /etc/systemd/system/ 下创建文件&#xff0c;名称为 xxx.service [Unit] DescriptionYour Service Description Afternetwork.target[Service] Typesimple ExecStart/path/to/your/service/executable Restarton-failure[Install] WantedBymulti-user.target2. 配置服务…...

如何监控批量写入的性能瓶颈?

监控批量写入的性能瓶颈是优化数据写入过程的关键步骤。通过系统化的监控和分析,可以识别出影响性能的具体环节,并采取相应的优化措施。以下是详细的监控方法和步骤: ### 1. **数据库性能监控** #### a. **数据库内置监控工具** 大多数数据库系统都提供了内置的性能监控工…...

Ubuntu挂载Windows 磁盘,双系统

首先我们需要在终端输入这个命令&#xff0c;来查看磁盘分配情况 lsblk -f 找到需要挂载的磁盘&#xff0c;检查其类型&#xff08; 我的/dev/nvme2n1p1类型是ntfs&#xff0c;名字叫3500winData&#xff09; 然后新建一个挂载磁盘的目录&#xff0c;我的是/media/zeqi/3500wi…...

【雷达】雷达的分类

文章目录 前言类别性质主要雷达分系统及其现代技术发展国外发展 前言 前言 类别 性质 按作用分类 军用雷达&#xff1a;&#xff08;按载体&#xff09;地面雷达、舰载雷达、机载雷达、星载雷达、 艇载雷达、弹载雷达 民用雷达&#xff1a;交通管制雷达、港口管制雷达、气象雷…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者&#xff1a;吴岐诗&#xff0c;杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言&#xff1a;融合数据湖与数仓的创新之路 在数字金融时代&#xff0c;数据已成为金融机构的核心竞争力。杭银消费金…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下&#xff1a; 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载&#xff0c;下载地址&#xff1a;https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

Python环境安装与虚拟环境配置详解

本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南&#xff0c;适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者&#xff0c;都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...

CTF show 数学不及格

拿到题目先查一下壳&#xff0c;看一下信息 发现是一个ELF文件&#xff0c;64位的 ​ 用IDA Pro 64 打开这个文件 ​ 然后点击F5进行伪代码转换 可以看到有五个if判断&#xff0c;第一个argc ! 5这个判断并没有起太大作用&#xff0c;主要是下面四个if判断 ​ 根据题目…...