算法--只出现一次的数字

算法篇—只出现一次的数字 文章目录1.只出现一次的数字Ⅰ2.只出现一次的数字Ⅱ 1.只出现一次的数字Ⅰ a. b.思路 🔸数组中的每一个数都与ret进行异或。 c.注意 🔸相同的数进行异或,结果为零。 🔸任何数与零进行异或,结果为本身。 d.代码 2.只出现一次的数字Ⅱ a. b.思路 ... 阅读详情

描述

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

说明:

你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

示例

示例 1:
输入: [2,2,1]
输出: 1

示例 2:
输入: [4,1,2,1,2]
输出: 4

分析

使用map,进行两次for循环,即可

实现

class Solution {
    public int singleNumber(int[] nums) {
        Map<Integer, Integer> map = new HashMap<>();
        for (Integer i : nums) {
            Integer count = map.get(i);
            count = count == null ? 1 : ++count;
            map.put(i, count);
        }
        for (Integer i : map.keySet()) {
            Integer count = map.get(i);
            if (count == 1) {
                return i;
            }
        }
        return -1; 
    }
}

其他方法:

使用异或

int ans = nums[0];
if (nums.length > 1) {
   for (int i = 1; i < nums.length; i++) {
      ans = ans ^ nums[i];//异或后还是本身
   }
 }
 return ans;

算法练习篇之:数组中只出现一次的数字 算法练习篇之:数组中只出现一次的数字 题目描述解题思路代码实现总结 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。 解题思路 法一:大家都能想到的HashMap法 法二:异或法 方法一大家或许都可以想到,今天重点将方法二,题目中说明除了两个数字外,其余均为成对出现!!!通过观察我们可以发现成对出现的数字异或结果为零!这么一来思路或许开朗很多... 阅读详情

相关推荐

算法:只出现一次的数字。

基础问题描述给定一个非空整数数组,其中每个元素都出现两次,除了一个元素只出现一次。找出那个只出现一次的元素。数学形式化设数组Aa1a2anAa1​a2​...an​,其中存在唯一元素xxxx∈Ax \in Ax∈A∀y∈Ay≠x⇒county2∀y∈Ayx⇒county2countx1countx1约束条件OnO(n)OnO1O(1)O1算法必须具有确定性单数字查找算法库。

AI天才研究院 1087

详解只出现一次的数字(三种情形)

本文详解了只出现一次数字的不同情况的三道题目。

melonyzzZ的博客 3673

C# Code-Behind 技术全面解析

Code-Behind 是 ASP.NET Web Forms 中的一种技术模式,通过将用户界面标记(.aspx文件)与程序逻辑代码(.aspx.cs文件)分离,实现表现层与逻辑层的解耦。其核心思想是前端展示与后台逻辑的物理文件分离,通过ASP.NET编译器将两者合并编译成一个Page类并执行。Code-Behind 的优势包括较好的代码组织、较高的开发效率,尤其适合快速开发数据驱动应用。然而,与现代开发模式如ASP.NET MVC、ASP.NET Core和Blazor相比,Code-Behind 在可维

记录学习的过程 956

【LeetCode】只出现一次的数字系列

1、136. 只出现一次的数字 思路很简单,这道题很特殊,因为只有一个数出现了一次,其余的出现了两次,我们知道异或运算对于相同的数字异或结果都为0,因此采用异或运算能很快解决这个题目。 class Solution { public int singleNumber(int[] nums) { int ans=0; for(int num:nums){ ans^=num; } return ans; }

时光、疏离了记忆づ童话的博客 2839

3DMax马克杯制作教程

01 在前视图创建一个【圆柱体】,设置参数,长度为32,高度为82;高度分段12、边数为16;如图所示。 02 点击鼠标右键,把圆柱体转换为可编辑多边形,如图所示。 03 在修改面板中,选择【多边形】层级,在视图中选择所示的面,使用缩放工具稍微缩小一点,如图所示。 04 点击【插入设置】,如图所示。 设置插入数量为2.5mm。 05 点击【挤出设置】,如图所示。 ...

youximoxingEDO的博客 3477

音频测试专题

麦克风与扬声器单体测试指标及整机性能测试概述 麦克风测试指标包括频率响应、灵敏度、指向性等10项关键参数,用于评估声音捕捉和信号转换性能。扬声器测试包含频率响应、灵敏度等12项指标,涉及声学特性和物理参数。整机性能测试覆盖安静、嘈杂和正常三种环境,重点检测麦克风底噪、清晰度、扬声器音量及通话质量等12项功能指标。两类单体测试与整机测试共同构成完整的音频设备质量评估体系,确保产品在不同场景下的性能表现。

weixin_52640906的博客 1316

只出现一次的数字(共四种)

文章目录前言一、难度等级:⭐二、难度等级:⭐⭐三、难度等级:⭐⭐⭐⭐四、难度等级:⭐⭐⭐ 前言   dragon迄今为止已经遇到了四道名为《只出现一次的数字》的题目了,现决定对这四道题目进行总结。假设难度最高为五星,下面我对这四道题目进行了难度评定(个人认为)。 ps:如果博友们还遇到了其他《只出现一次的数字》的题目,欢迎在评论区进行分享。 一、难度等级:⭐    给定一个整数数组numsnumsnums,除了某个元素只出现一次以外,其余元素均出现两次。找出那个只出现一次的元素。   当两个数进行异或

2021dragon的博客 2469

按照autoware.universe官方从零搭建自己的自动导航小车(三)(续)

本文介绍了在Autoware框架下完善自定义传感器套件描述包的详细过程。主要内容包括:1)创建传感器描述包tinyplc_sensor_kit_description,包含YAML标定文件和URDF模型;2)配置传感器与车辆基座的相对位姿,实现sensor_kit.xacro和sensors.xacro宏文件;3)更新sensor_kit.launch.xml文件以集成激光雷达和GNSS/IMU驱动。通过xacro验证URDF模型正确性后,下一步计划接入Helios16激光雷达数据并在Rviz2中验证点云显

qq_45335326的博客 1272

算法-只出现一次的数字(原理讲解)

算法-只出现一次的数字1、只出现一次的数字(I)2、只出现一次的数字(II)3、只出现1次的数字(III) 这三道题目也是Leetcode上的,考察的是对位运算的掌握程度。当然用HashMap也是可以做的。这里只讲位运算。 1、只出现一次的数字(I) 136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的...

qq_23594799的博客 3063

python自动交易 缠论_缠论自动交易系统实现了

一、缘起:缠中说禅的伟大,我想你只要上网搜索一下就知道了,他的才气不用我说,我只想说说他的《教你炒股票》系列文章,108篇文章,将他的股票操盘秘籍全部公开给广大的股友了,更有缠友将其理论写成公式,在网上也是广为流传,深受广大缠友们的喜爱。我也是缠中说禅的忠实崇拜者之一,从2008年开始每天都使用缠论来看盘,特别想将缠论写成交易系统,让计算加来帮助我们自动交易,从而减轻我们盯盘的辛劳,可是苦于没有好...

weixin_39970689的博客 4636

python 写一个简单的 telegram bot (电报机器人)

replit.com 环境配置太恶心了,只能使用 poetry.poetry 这个名字是挺好听,用起来也是很垃圾,太恶心。heroku.com 注册登录不方便,需要各种验证。所以,部署的问题,目前搁置。

waterHBO的博客 3192

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的博客 640

微信小程序 - 详细实现随机生成订单号,微信小程序创建订单号思路,不重复订单号生成的方法,小程序自动生成固定规则的订单号流水号(必须是唯一不重复的订单号,生成唯一订单号)详细生成方法,示例代码教程最新

微信小程序,vue2,vue3,订单号,流水号思路,微信小程序 详细实现随机生成订单号(JavaScript),随机生成商户订单号,根据当前时间随机生成流水号或者订单号,微信小程序之商家订单,订单号随机生成器,自动生成固定规则的订单号(前缀+采购日期+6位流水号)微信小程序 生成外卖顺序号,生成订单号或流水号简单方法,实现订单号生成唯一的解决方案,如何按日期生成订单号,14位编号=8位日期(+6位流水号),自动生成订单号(固定+日期+数字),销售订单号自动生成。在微信小程序开发中,详解实现随机生成创建订单号

🏆 前端领域优质创作者 1185

算法题 只出现一次的数字

算法题 只出现一次的数字

红血哥 1480

RK3588芯片USB OTG模式切换:Device到Host的驱动奥秘之旅

摘要:本文详细介绍了RK3588芯片USB OTG模式从Device到Host的完整驱动流程,包括硬件电路设计、内核驱动配置、模式切换机制及验证方法。RK3588芯片凭借强大的性能和灵活的USB OTG特性,在工业控制、智能家居等领域具有广泛应用前景。文章重点分析了Type-C接口设计、USBPHY芯片选型、Linux内核模块配置等关键技术要点,并提供了模式切换脚本使用方法和常见问题解决方案,为开发者实现RK3588 USB OTG功能提供了全面指导。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 740

android 蓝牙通讯demo

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

算法 数组 只出现一次的数字

其中一个经典的问题是“只出现一次的数字”,即给定一个数组,其中除了一个数字之外,其他数字都出现了两次,找出那个只出现一次的数字。遍历数组时,所有成对出现的数字会被抵消掉,最终结果就是只出现一次的数字。排序法通过先对数组进行排序,然后遍历排序后的数组,检查相邻的元素是否相等,找出只出现一次的元素。哈希表法通过使用哈希表(字典)来记录每个元素的出现次数,遍历数组时更新哈希表,最后找出只出现一次的元素。暴力法是最直观的方法,通过双重循环遍历数组,统计每个元素的出现次数,找出只出现一次的元素。学习路线(点击解锁)

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1300

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

算法题:只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 代码 class Solution: def singleNumber(self, nums: List[int]) -> int: k = 0 for i in nums:

Deep learning小舟 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【算法】位运算算法——只出现一次的数字Ⅱ

题解:只出现一次的数字Ⅱ(位运算算法)

BinaryWiker的博客 484

算法题——只出现一次的数字

一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字 //num1,num2分别为长度为1的数组。传出参数 //将num1[0],num2[0]设置为返回结果 public class Solution { public static void FindNumsAppearOnce(int [] array,int num1[] , int...

泊停的博客 172

【算法专题训练】04、只出现一次的数字

本文介绍了两种在数组中找到只出现一次数字的算法。第一种针对其他数字出现两次的情况,使用异或位运算特性(数字异或自己为0),通过遍历数组将所有元素异或得到结果。第二种针对其他数字出现三次的情况,将每个数字转换为二进制形式,统计各位的出现次数后对3取余,最后将余数转为十进制得到结果。文章还总结了异或运算特性、C++数组初始化注意事项以及二进制位数获取方法。这些算法都能在O(n)时间复杂度和O(1)空间复杂度内解决问题。

Tim_10的博客 309

算法题之只出现一次的数字

今天的文章分享到这里全部结束,希望对大家的学习和工作有所帮助!

Buy0515的博客 179

算法探索_只出现一次的数字

问题描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1示例2: 输入: [4,1,2,1,2] 输出: 4 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/single-number 解决思路: 主流思路分三种:1.利用set,2.排序后比较,3.异或 .

赵星海 359

Leetcode算法题——只出现一次的数字

Leetcode算法题——只出现一次的数字原题目解题思路Java解答 原题目 解题思路 第一时间想到的应该是排序,然后两两比较,找到不同的即可;但是任何一种排序方法的时间复杂度均不满足题目的要求。。。。 抓住题目的重点,其余数字由于是出现两次的,因此我们可以根据位异或运算的特点,相同数字异或运算的结果应为0,0与任何数字运算结果仍未起本身。 Java解答 public int singleNum...

jychenzju的博客 250

算法-数组中只出现一次的数字

1. 找出数组中只出现一次的数字 这个题目其实有两种形式: 一个整型数组里除了某一个数字之外,其他的数字都出现了两次,找出这个只出现了一次的数字 如数组 [1,2,2,1,3], 则目标数字为 3 一个整型数组里除了某两个数字之外,其他的数字都出现了两次,找出这两个只出现了一次的数字 如数组 [1,2,2,1,3,5], 则目标数字为 3,5 2. 解法 2.1 只有一个不重复数字 思...

谈谈1974 951

LeetCode面试算法-力扣 136. 只出现一次的数字

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

牧野飞鸿的博客 506

常见算法-数组中只出现一次的数字

package common; /** * @author : zhaoliang * @program :newCoder * @description : 数组中只出现一次的数字 * @create : 2020/12/09 20:00 */ public class FindNumsAppearOnce { //一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 public void FindNumsAppearOnce(int[

sinat_40968110的博客 103
上一篇: 算法--环形链表
下一篇: Lua入门学习
CodersCoder
博客等级 码龄10年 90粉丝 258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值