260. Single Number III [medium] (Python)

【信息科学与工程学】计算机科学与自动化——第三百零五篇 数据中心 Scale-Up、Scale-Out、Scale-Across 100 密码法》《商用密码管理条例》《网络安全法》《数据安全法》《国家政务信息化项目建设管理办法》;《网络安全法》《数据安全法》《个人信息保护法》《反恐怖主义法》《反有组织犯罪法》;反洗钱可疑交易规则判定。《个人信息保护法》《网络安全法》《数据安全法》《反不正当竞争法》《生成式人工智能服务管理暂行办法》;《中国共产党纪律处分条例》《党内监督条例》《巡视工作条例》《审计法》《公职人员政务处分法》《反腐败/反有组织犯罪相关》《档案法》《电子签名法》《会计法》(原始凭证数字化要求)、《网络安全法》; 阅读详情

题目链接

https://leetcode.com/problems/single-number-iii/

题目原文

Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.

For example:
Given nums = [1, 2, 1, 3, 2, 5], return [3, 5].

Note:

  1. The order of the result is not important. So in the above example, [5, 3] is also correct.
  2. Your algorithm should run in linear runtime complexity. Could you implement it using only constant space complexity?

思路方法

题目要求O(1)的空间复杂度和O(n)的时间复杂度,限制了不能使用dict之类的辅助结构,故不再讨论此类解法。
题目要求找到两个只出现一次的数,如果之前做过:136. Single Number 这个题的话,应该能想到用异或操作。
然而一遍异或无法得到两个值, 想到最终异或得到的值肯定不为0,那么一定至少有一个位是1。根据这一位是否为1可以将原数组分成两拨,分别将两拨数的总异或求出来,得到的结果就是要求的两个数。
另外,找一个数的二进制表示中1的位置有很多方法,下面两个代码提供了两个不同的方法。

思路一

按照上面写的思路写代码即可。

代码

class Solution(object):
    def singleNumber(self, nums):
        """
        :type nums: List[int]
        :rtype: List[int]
        """
        res = [0, 0]
        tmp = reduce(operator.xor, nums)
        mask = tmp & (-tmp)
        for i in nums:
            if i & mask:
                res[0] ^= i
            else:
                res[1] ^= i
        return res

思路二

只求一拨数的异或,再用总的异或值与该值异或可以得到另一个所求数,减少不少计算量。

代码

class Solution(object):
    def singleNumber(self, nums):
        """
        :type nums: List[int]
        :rtype: List[int]
        """
        res1 = 0
        tmp = reduce(operator.xor, nums)
        mask = tmp - (tmp & (tmp - 1))
        for i in nums:
            if i & mask:
                res1 ^= i
        return [res1, tmp ^ res1]

PS: 写错了或者写的不清楚请帮忙指出,谢谢!
转载请注明:http://blog.youkuaiyun.com/coder_orz/article/details/52071599

Ambari 3.0.0 + BigTop 3.3.0 源码编译与集群部署指南(Kylin V10 / aarch64) 仅仅是针对“应用商店目录(Applications Catalog)”的一个外围附属子模块(它不是 YARN 监控大盘,不影响 YARN UI 网页的主体使用),我们可以采用。自带的 Node 二进制是 x86_64 版本,在 ARM64(aarch64)容器上无法执行(Exit value: 126)。:Ambari Server/Agent 使用 JDK 17,BigTop 大数据组件(Hadoop/HBase/Spark 等)使用 JDK 8。,源码中包含 x86 特定的原生二进制文件。 阅读详情

相关推荐

VINS-Fusion实战:从零搭建无人机视觉惯性导航系统(附ROS配置指南)

本文提供了一份详尽的VINS-Fusion实战指南,涵盖从硬件选型、传感器标定到ROS节点配置与参数调优的全过程。重点解析了如何将VINS-Fusion视觉惯性里程计系统与PX4飞控深度集成,并实现室外GPS融合,旨在帮助开发者从零搭建稳定、高精度的无人机视觉惯性导航系统。

lll78的博客 864

LeetCode个人笔记python篇(medium)

2. 两数相加 # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def addTwoNumbers(self, l1: ListNod...

ccy_8491的博客 415

鸿蒙ijkplayer播放器调优实战:从卡顿掉帧到流畅播放RTSP,我都调了哪些参数?

本文深入解析鸿蒙平台上ijkplayer播放器优化RTSP流媒体播放的关键参数,解决卡顿、掉帧等问题。通过调整缓冲区管理、帧处理策略和网络超时设置,实现流畅播放体验,特别适用于监控和直播等高实时性场景。

weixin_29304021的博客 240

一文吃透只出现一次的数字Ⅱ!LeetCode 260「只出现一次的数字 III」两大解法多语言题解

LeetCode 260《只出现一次的数字 III》(Single Number III)是位运算、分组与哈希的综合题。给定一个整数数组,只有两个元素只出现一次,其他都出现两次,要求找出这两个唯一的数。常考异或、分组和哈希表。本题是位运算分组、哈希表统计与集合划分的经典例题,掌握分组异或技巧后,可解决更多“只出现一次”/“只出现k次”的变种题,是刷题和面试不可或缺的基础能力。

10年数据\经营分析经验,现任大厂数据分析负责人 422

Python与Wind量化接口实战:从配置到数据提取全流程解析

本文详细解析了Python与Wind量化接口的实战应用,从环境配置到数据提取全流程。通过Anaconda管理Python环境,安装WindPy接口,实现历史行情、截面数据和实时行情的查询与优化。文章还提供了高级功能如批量查询、数据缓存策略及实战案例,帮助开发者高效构建量化分析框架。

omega的博客 1325

第12篇: COZE 实操【自动生成每日英语短视频】详细制作流程

通过以上详细流程,你可以利用 Coze 智能体高效生成每日英语短视频。在实际操作中,若遇到问题或有新的创意需求,欢迎随时与我交流,进一步优化视频制作流程。从左侧节点库中拖拽 “开始” 节点到画布中央,设置主题输入框(如输入 “日常购物英语”),方便后续根据不同主题生成视频。2. 选题策划节点​。3. 内容生成节点​。4. 画面生成节点​。5. 配音生成节点​。6. 音频匹配节点​。7. 视频合成节点​。

AI实操部署-深耕AI领域老菜鸟! 2071

[译] 我是如何使用 Python 在 Medium 上找到并关注有趣的人

原文地址:How I used Python to find interesting people to follow on Medium 原文作者:Radu Raicea 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:Park-ma 校对者:mingxing47 图片来源:Old Medium logo Medium 上有大量的内容、用户和...

weixin_33882443的博客 405

ubuntu20.04升级OpenSSH

业务需求,需要将服务器的OpenSSH版本从8.2升级到最新版本(9.9),由于apt能提供的最新版本就是8.2,所以需要采用源码安装的方式。

xiamu66的博客 1524

【leetcode】#数组【Python】总结篇—— Medium难度

Medium 1> 15. 3Sum 三数之和 详细解题: https://blog.csdn.net/u014256231/article/details/83514830 题目大意: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。给定数组 nums = [-1, 0, 1,...

风轻扬逍遥子的博客 1037

大数据分析工具Power BI(二):Power BI下载安装和模块介绍

首先在Microsoft官方网站上下载PowerBI Desktop,然后进行安装。id=58494点击"Next"后会弹出下载框,进行下载即可,下载好的PowerBI名称为"PBIDesktopSetup_x64.exe",也可以在"资料"中获取安装包,双击安装包即可安装。

Lansonli(蓝深李)的博客 2315

YOLOv11改进策略【损失函数篇】| 引入Soft-NMS,提升密集遮挡场景检测精度,包括GIoU-NMS、DIoU-NMS、CIoU-NMS、SIoU-NMS、 EIou-NMS

传统的非极大值抑制(NMS)算法在目标检测中存在一个问题,即当一个物体的检测框与具有最高得分的检测框M有重叠(在预定义的重叠阈值内)时,会将该检测框的得分设置为零,从而导致该物体可能被遗漏,降低了平均精度。为了解决这个问题,作者提出了Soft-NMS算法。本文将YOLOv11默认的NMS修改成GIoU-NMSDIoU-NMSCIoU-NMSSIoU-NMSEIou-NMS。

Limiiiing的博客 4316

LeetCode 260. Single Number III (只出现一次的数字 III)

目录 题目地址 原题目 方法一 遍历数组 解题过程 代码实现 复杂度分析 方法二 位运算 解题过程 代码实现 复杂度分析 方法三 哈希表 题目地址 260. Single Number III 原题目 方法一 遍历数组 看到 Single Number III,首先想到了之前做过的Single Number,知道用位运算应该会更好的解决问题,可惜...

知其所以然 423

【RT-DETR有效改进】利用EMAttention加深网络深度提高模型特征提取能力(特征选择模块)

本文给大家带来的改进机制是EMAttention注意力机制,它的核心思想是,重塑部分通道到批次维度,并将通道维度分组为多个子特征,以保留每个通道的信息并减少计算开销。EMA模块通过编码全局信息来重新校准每个并行分支中的通道权重,并通过跨维度交互来捕获像素级别的关系。本文改进是基于ResNet18、ResNet34、ResNet50、ResNet101,文章中均以提供,本专栏的改进内容全网独一份深度改进RT-DETR非那种无效Neck部分改进,

Snu77的博客 3167

PostgreSQL 使用 psql 反斜杠元命令 `\dt+` 查看数据库对象磁盘占用(TIL 仓库实战指南)

在日常开发与运维中,排查"哪些表最占空间""某个索引吃掉了多少磁盘"是 PostgreSQL 数据库管理的常见诉求。本篇基于 til 仓库 [postgres/list-database-objects-with-disk-usage.md](https://link.gitcode.com/i/af3cd252a21f7abf6ee0e835fa2fe4b5) 的笔记,完整讲解 psql 反斜杠

gitblog_00011的博客 160

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

260. Single Number III(python+cpp)

题目: Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once. Example: Input: [1,2,...

小湉湉的博客 200

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

260. Single Number III

260. Single Number III

Sterben_Da的博客 257

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【Medium Python】前言&目录

python作为最流行的语言之一,我们对python的认知到底有多少呢?大胆猜测,95%的同学对python的了解都不超过5%吧!不用说python的c源码了,就算是python每个标准库的.py源码,都有很少人去关心。结论就是,我们对python本身的理解是远远不够的,比想象中还不够!当然,这也可能是python的语言特性导致的吧,在设计方面就不需要我们去多想。 python的岗位众多,网上的教材跟面试题也很多,然而很多都是八股文,浅尝辄止,鲜有深度的挖掘,让人知其然而不知其所以然,处处透露着对技术的不敬

HiKariのTechLab 677

LC 260. Single Number III 位运算解法

Description Given an integer array nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once. You can return the answer in any order. Follow up: Your algorithm should r

村里的原振侠的博客 312

leetcode 算法解析(一):260. Single Number III(C++版本和自己的注解)

这个题来自《剑指offer》但是书上上感觉讲解不太详细,还是看博客吧(我把下面博客改写成了C++版本运行通过)注意这个题的相关代码中,输入的数组只能有两个数出现一次,如果有第三个数出现一次,那么这个代码就会失效。总结下算法思路:假设原始数组中只出现一次的元素是A和B,原始数组为{A,E,C,D,C,D,E,B}主要是利用异或的交换律。先把所有数字按次序进行异或运算,得到的结果必然是A⊕B,因为其他...

微电子学与固体电子学-俞驰 732

【LeetCode】260. Single Number III 解题报告(Python & C++)

【LeetCode】260. Single Number III 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://leetcode.com/problems/single-number-iii/description/ 题目描述: Given an array of numbers nums, in which exactly two el...

负雪明烛 3494

Single Number III

题目描写叙述 链接地址 解法 算法解释 题目描写叙述 Given 2*n + 2 numbers, every numbers occurs twice except two, find them. Example Given [1,2,2,3,4,4,5,3] return 1 and 5 Challenge O(n) time, O(1) e...

weixin_34242509的博客 167

260.leetcode Single Number III(medium)[两个单数]

Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once. For example: Given

qz530308783的专栏 319

[leetcode] 260.Single Number III

题目: Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.For example:Given nums =

u014673347的专栏 2631

leetcode single number I II III [python]

leetcode single number的三道题目 代码及实现 总结及归纳 I.leetcode single number的三道题目 ①有一个数字出现一次,其余数字出现两次,找出此数 ②有一个数字出现一次,其余数字出现三次,找出此数 ③有两个数字均只出现一次,其余数字出现两次,找出此数 II. 代码及实现 ①class Solution(object): def single

Judewen的博客 500

python leetcode 260. Single Number III

Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.找出列表中两个只出现一次的数。Example:Input...

DreamerLHQ的博客 396

LeetCode 260. Single Number III解题报告(python)

260. Single Number III Lowest Common Ancestor of Deepest Leaves python solution 题目描述 Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear ...

Orientliu96的博客 363
上一篇: 136. Single Number [medium] (Python)
下一篇: 238. Product of Array Except Self [medium] (Python)
coder_orz
博客等级 码龄14年 102粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值