leetcode 习题 136. 只出现一次的数字

TensorRT(C++)部署 Pytorch模型 众所周知,python训练pytorch模型得到.pt模型。但在实际项目应用中,特别是嵌入式端部署时,受限于语言、硬件算力等因素,往往需要优化部署,而tensorRT是最常用的一种方式。本文以yolov5的部署为例,说明模型部署在x86架构上的电脑端的流程。(部署在Arm架构的嵌入式端的流程类似)。 阅读详情

 

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

根据给出条件,一个数组,除了一个元素出现一次,其他元素均是成对出现;

线性时间复杂度:时间复杂度最高为O(n)

不使用额外空间:要求空间复杂度最高为O(1)。

思路一:可以将数组排序,然后两个指针进行遍历即可:该数经过排序后肯定为偶数

class Solution {
public:
    int singleNumber(vector<int>& nums) {
        sort(nums.begin(),nums.end());   // 先进行排序
        
        for(int i = 0; i < nums.size() - 1 ; i= i + 2) 
        {
            if(nums[i]!=nums[i+1])   // 找到不相等的一组,直接返回 /两个指针进行遍历
            {
                return nums[i];
                }
        }
        return nums[nums.size()-1];   // 如果没有找到不相等的一组数据,直接返回数组的最后一个数字

    }
};

2:可以考虑异或,异或同一个数两次,原数不变;自反律 A^B^B=A^0=A

class Solution {
public:
    int singleNumber(vector<int>& nums) {
       unordered_map<int, int> np;
       int i = 0;
       for(int n : nums){
           i ^=n;
       }
       return i;
    }
};
class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        a = 0
        for i in nums:
            a = a ^ i;

        return a

也阔以考虑使用hashmap把重复数过滤,进行筛选;

【AI生成】市面上主流自组网厂家的技术及市场研究 经过对全球自组网产业技术特征与市场格局的系统分析,本文得出以下核心结论:技术演进呈现智能化与融合化双轨路径 当前自组网技术创新已突破传统组网架构局限,形成"协议优化-架构创新-场景适配"的递进式发展路径。国际厂商聚焦智能算法应用,如Silvus采用深度学习实现动态拓扑优化,传输时延较传统方案降低37%;国内企业则侧重异构网络融合,中国移动设计院提出的5G LAN架构使工业场景通信可靠性提升至99.99%。 阅读详情

相关推荐

如何用Deep OC-SORT提升多目标跟踪精度?实战配置与性能优化指南

本文是一份针对开发者的Deep OC-SORT多目标跟踪实战指南。详细解析了如何通过部署其核心的“动态外观记忆”与“相机防抖”模块来有效应对遮挡与抖动,从而显著提升跟踪精度与连续性。内容涵盖从环境搭建、参数调优到性能压榨的全流程,并提供针对不同场景的配置建议与工程落地技巧。

f9g0h的博客 670

LC 只出现一次的数字(异或解法)

异或: 定义:如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。 符号: ⊕ 特性: 任何数和 00 做异或运算,结果仍然是原来的数,即 a⊕0=a、a⊕0=a。 任何数和其自身做异或运算,结果是 00,即 a⊕a=0、a⊕a=0。 异或运算满足交换律和结合律,即 a⊕b⊕a=b⊕a⊕a=b⊕(a⊕a)=b 在计算机中的表示 ^ 题目 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。

hahaha8129的博客 641

IC设计新手必看:如何正确使用去耦电容(decap)避免电源噪声?

本文深入探讨了IC设计中去耦电容(decap)的应用技巧,从核心原理到布局实现,帮助新手工程师有效抑制电源噪声。文章详细解析了MIM、MOM等电容类型的特性与选择策略,并提供了先进的布局技巧和验证方法,特别适用于28nm以下先进工艺的电路设计挑战。

weixin_30555125的博客 114

【LeetCode-简单】136. 只出现一次的数字 - 位运算

136. 只出现一次的数字 如果不考虑时间复杂度和空间复杂度的限制,这道题有很多种解法,可能的解法有如下几种: 使用集合存储数字。遍历数组中的每个数字,如果集合中没有该数字,则将该数字加入集合,如果集合中已经有该数字,则将该数字从集合中删除,最后剩下的数字就是只出现一次的数字。 使用哈希表存储每个数字和该数字出现的次数。遍历数组即可得到每个数字出现的次数,并更新哈希表,最后遍历哈希表,得到只出现一次的数字。 使用集合存储数组中出现的所有数字,并计算数组中的元素之和。由于集合保证元素无重复,因此计算集合中

ASDF的博客 559

提升RAG效果:为何 JSON 格式远胜 Markdown?

在构建强大的 RAG (检索增强生成) 系统时,文档解析是至关重要的第一步。它直接影响着后续的检索效率和生成质量。在众多文档格式中,JSON (JavaScript Object Notation) 格式正逐渐展现出其相对于传统 Markdown 格式的巨大优势。本文将深入探讨 JSON 在 RAG 系统文档解析中的卓越之处,并结合具体案例,让你理解为何 JSON 才是构建下一代智能应用的更优选择。RAG 系统的核心目标是让模型能够利用外部知识库,生成更精准、更贴合实际的答案。

simoncool23的博客 2718

DMC-E 系列总线控制卡----雷赛板卡介绍(十七)

低的速度平稳地接近目标位置,降低运动部件对接触点的冲击。设置插补目标位置,插补方向,以确定插补动作。圆形区域限位,即运动仅在用户设定的圆形范围内进行,超出这个范围,运动会依据设定。首先,用户需要绑定两个轴进而确定该功能所处的坐标系。仅支持平面圆形限位,不支持空间圆形限位。径,可以确定该区域在坐标系中的位置。)运动开始前,用户应当将旋转轴调整到与插补曲线的起点位置相切的角度;可以配合椭圆插补或圆弧插补运动,实现跟随轴的旋转运动角度与曲线当前。外,其它运动形式若开始运动时在限位区域外,则禁止运动;

A_nanda的博客 653

leetcode:136. 只出现一次的数字

题目来源 leetcode 题目描述 题目解析 关键点在于两两相消 使用set 题目中让我们在线性的时间复杂度内求解,那么一个非常直接的思路就是使用 HashSet,利用其常数级的查找速度。遍历数组中的每个数字,若当前数字已经在 HashSet 中了,则将 HashSet 中的该数字移除,否则就加入 HashSet。这相当于两两抵消了,最终凡事出现两次的数字都被移除了 HashSet,唯一剩下的那个就是单独数字了 class Solution { public int singleNumber(i

OceanStar的博客 486

ArcGIS笔记2_如何将经纬度WGS84地理坐标系转换为米单位CGCS2000投影坐标系

本博文则主要讲解,如果我们手里拿到的shp文件是在ArcGIS中,如何将经纬度WGS84地理坐标系转换为米单位CGCS2000投影坐标系。

晏长街的博客 4万+

【每日算法】LeetCode 136. 只出现一次的数字

算法摘要:LeetCode 136. 只出现一次的数字 本文分析了找出数组中唯一出现一次数字的问题,提供了三种解法: 哈希表法:直观易懂,但需要O(n)空间 集合数学法:利用和差计算,同样需要额外空间 异或位运算法:最优解,O(n)时间且O(1)空间,利用异或性质抵消成对数字 关键点: 异或运算具有自反性(a^a=0)和交换律 前端开发中,此类算法可用于状态管理、数据去重等场景 类似题目包括处理三次出现、两个唯一数等变体问题 最优解法仅需一次遍历和常数空间,体现了算法对编码能力的提升价值。

LYFlied的博客 932

实干派!网易易盾增强版滑块验证码,全方位讲解识别思路(含源码)

该验证码是异形滑块验证码中的一种,缺口旋转+偏移的处理需要你有很好的图像处理知识,能很好的处理透明通道,同时,该验证码需要你能很好的处理缺口和背景之间匹配的关系,该验证码的处理难点就是两个缺口之间如何找到正确的,两个检测框都有很强的相似度,且加上背景图的干扰,在图像处理和有优化上难度大大增加。

码王吴彦祖的博客 2015

博图SCL基础知识-寻址调用及新建SCL

和LAD/FBD不同,LAD/FBD在程序编辑器是一段一段的,编辑器可以插入新的网络段,每一个网络段可以有各自的注释。一般情况下,FB的简单数据类型形参可以没有对应实参,复杂数据类型的输入、输出也可以没有对应实参,所以FB可以隐藏或不隐藏不出现的形参。一般情况下,FB的简单数据类型形参可以没有对应实参,复杂数据类型的输入、输出也可以没有对应实参,所以FB可以隐藏或不隐藏不出现的形参。如图3所示,当FB的参数全部显示,在背景数据块右键可以激活"仅显示分配的参数";如图2所示,显示了一些FB调用的例子。

电工 2029

LeetCode136(力扣136):只出现一次的数字 (C++)

136.只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 我的题解(错误错误错误) class Solution { public: int singleNumber(vector<int>& nums) { so

VegetableGirl的博客 442

在时间轴上联动多张内表:ABAP 的 PROVIDE ... ENDPROVIDE 区间联动迭代实战

PROVIDE 是 ABAP 中处理有效期区间数据的强大工具,它能自动将多张内表按时间维度切片并联合处理。其核心功能包括:指定区间边界字段(BOUNDS),定义外部总区间(BETWEEN),并通过工作区和标志位(VALID)标识每张表在当前子区间是否生效。该语法特别适合 HR 信息类型等有效期数据,能避免手动处理区间重叠、排序和空档等问题。使用时需注意字段投影(FIELDS)限制、工作区只读原则,以及异常处理(如区间重叠或未排序)。典型应用场景包括员工调岗记录、价格有效期管理等需要时间轴联动的业务逻辑。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1671

leetcode习题集——136. 只出现一次的数字

题目 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 算法 class Solution { public int singleNumber(int[] nu...

jessio的博客 222

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Day 1 变量、位运算、数据类型及位运算

day 1 变量、运算符、数据类型及位运算 理论部分 了解python中基本的变量类型,运算符,及数据类型。 了解python的位运算。 注释 在 Python 中,使用# 表示注释,作用于整行。 如 # print(“hello world”) 多行注释 使用’’’ ‘’’ 或者 “”" “”" 表示区间注释 位运算 算术运算符 操作符 名称 + 加 - 减 * 乘 / 除 // 整除 % 取余 ** 幂 比较运算符 操作符 名称 > 大

h1astro的博客 279

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

LeetCode第136题---只出现一次的数字

LeetCode第136题---只出现一次的数字 题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例2: 输入: [4,1,2,1,2] 输出: 4 ...

Jonh_的博客 393

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

leetcode 136.只出现一次的数字

leetcode 136.只出现一次的数字 题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 解题思路 采用异或运算。0和其他数字异或都等于数字本身,两个相同...

EngineerHe的博客 808

LeetCode 136.只出现一次的数字

LeetCode 136.只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 因为其他所有数字都出现两次,所以用亦或 主要是一个函数 cla...

缇欧的咪西 457

leetcode每日一题.136:只出现一次的数字

题目描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/single-number 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 示例1: 输入: [2,2,1] 输出: 1 示例2: 输入: [4,1,2,1,2] 输出: 4 分析: 直

FarStars的博客 403

leetcode 136题 只出现一次的数字

136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 示例 2: 输入: [4,1,2,1,2] 输出: 4 当时看到这个题,能做出来的手段还是挺多的。但是没有符合要求的。 用现...

qq_39215715的博客 224

Leetcode 第136题 只出现一次的数字题解

题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 输入: [2,2,1] 输出: 1 来源:力扣(LeetCode) 链接:LeetCode 题目分析 (1)不考虑空间复杂度和时间复杂度的情况下,此题解法较多,可以用集合解,也可以排序解,还可以双指针等,但是限定了空间和时间复杂度后,解法也就受限制了; (2)可以考虑位运算,具体而言是使用位运算中的异或运算

Dream_DD的博客 316

[leetCode]136.只出现一次的数字

暴力法 数组中依次取出每一个元素,将该元素和数组中所有元素进行比对,使用一个计数器进行计数,如果比对一遍后计数器为1则返回这个数字,否则清空计数器。 class Solution { public int singleNumber(int[] nums) { int count = 0; for(int i = 0; i < nums.length; i++){ int curDigit = nums[i]; f.

Warms的博客 193

leetcode 第136题 只出现一次的数字(位运算)

题目描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/single-number 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题解: clas

weixin_46708094的博客 144

Leetcode-136. 只出现一次的数字(python3)

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 方法一:排序之后慢慢找  class Solution: def singleNumb...

康雨城 644

leetcode刷题(14)——136.只出现一次的数字

一、题目 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 二、思路 运用异或运算(^)。异或运算的特点: (1)n ^ n = 0; (2)n ^ 0 = n。 将数...

kezhou的博客 220

【算法详解】力扣136.只出现一次的数字

给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。示例 1 :输入:nums = [2,2,1]输出:1。

HearMeRoar_的博客 1772
上一篇: Python中变量、运算符、数据类型及位运算
下一篇: Python--龟兔赛跑游戏
single6
博客等级 码龄10年 25粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值