当前位置: 首页 > 编程日记 > 正文

洒出VS的受调查

数组-136. 只出现一次的数字

  • 题目描述
    • 题目样例
  • Java方法:位运算
    • 算法思路
    • 代码
    • 复杂度

题目描述

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

题目样例

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

Java方法:位运算

算法思路

如果不考虑时间复杂度和空间复杂度的限制,这道题有很多种解法,可能的解法有如下几种。
1.使用集合存储数字。遍历数组中的每个数字,如果集合中没有该数字,则将该数字加入集合,如果集合中已经有该数字,则将该数字从集合中删除,最后剩下的数字就是只出现一次的数字。
2.使用哈希表存储每个数字和该数字出现的次数。遍历数组即可得到每个数字出现的次数,并更新哈希表,最后遍历哈希表,得到只出现一次的数字。
3.使用集合存储数组中出现的所有数字,并计算数组中的元素之和。由于集合保证元素无重复,因此计算集合中的所有元素之和的两倍,即为每个元素出现两次的情况下的元素之和。由于数组中只有一个元素出现一次,其余元素都出现两次,因此用集合中的元素之和的两倍减去数组中的元素之和,剩下的数就是数组中只出现一次的数字。
上述三种解法都需要额外使用 O(n) 的空间,其中 n 是数组长度。
如何才能做到线性时间复杂度和常数空间复杂度呢?
在这里插入图片描述

代码

class Solution {public int singleNumber(int[] nums) {int single = 0;for (int num : nums) {single ^= num;}return single;}
}

复杂度

  • 时间复杂度:O(n),只需要遍历一次。
  • 空间复杂度:O(1)。
    [1]:https://leetcode-cn.com/problems/single-number/solution/zhi-chu-xian-yi-ci-de-shu-zi-by-leetcode-solution/

相关文章:

SQL 常用方法

SQL 常用方法 EXCEPT :返回两个结果集的差(即从左查询中返回右查询没有找到的所有非重复值)。 INTERSECT :返回 两个结果集的交集(即两个查询都返回的所有非重复值)。 UNION :返回两个结果集的并…

【转】Visual Studio团队资源管理器 Git 源码管理工具简单入门

1.1 环境 Visual Studio GitLab (其他版本同理) 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(FetchMeger) 获取(Fetch):从远…

php字符串比较函数

比较两个字符串是否相等,最常见的方法就是使用“”来判断,至于它和“”的区别,简单来说就是前者强调“identical”类型也要求一样;后者要求“equal”,值相同就可以了,参考【1】。或者使用strcmp来判断&…

Debugging Tools for Windows__from WDK7

1、 主要要用到两个工具: (1)、WinDBG 这个主要用于 非IDE下 调试程序/查看信息等 (2)、cdb.exe 这个主要是用在 Qt5.3.2 for VS10 的单步调试器 2、 WDK7 的文件,名为 GRMWDK_EN_7600_1.ISO,该文件我备份于“百度云 CodeSkill --> 全部文…

数据结构:二分查找 java

为什么80%的码农都做不了架构师&#xff1f;>>> 二分查找的前提是有序存储&#xff0c;利用顺序存储和元素排序 /*** 二分查找&#xff0c;查找成功&#xff0c;返回下标记* param values* param begin* param end* param key* param <T>* return*/ public s…

PHP一些十分严重的缺陷

1. 对递归的不良支持 递归是一种函数调用自身的机制。这是一种强大的特性可以把某些复杂的东西变得很简单。有一个使用递归的例子是快速排序(quicksort)。不幸的是&#xff0c;PHP并不擅长递归。Zeev&#xff0c;一个PHP开发人员&#xff0c;说道&#xff1a;“PHP 4.0(Zend)对…

Thinkphp----------为什么Thinkphp会默认进入Index控制器的index方法

1、最近遇到两个刚学PHP的童鞋&#xff0c;都问到了同一个问题&#xff0c;就是他们没有做什么配置&#xff0c;为什么访问入口文件index.php的时候会自动跳转到IndexController里面的index方法。他们想知道具体怎么回事&#xff0c;下面就简单讲解一下&#xff0c;其实并不难只…

Confluence 6 Home 和其他重要的目录

2019独角兽企业重金招聘Python工程师标准>>> Confluence 安装目录 Confluence 安装的目录&#xff08;Confluence Installation directory&#xff09;定义的是 Confluence 是在那里进行安装的。这个目录有时候也被称为 Confluence 安装目录&#xff08;Confluence …

Apache,Nginx,Lighttpd分别使用X-sendfile功能提升文件下载性能

关于mod_xsendfile https://tn123.org/mod_xsendfile/Lighttpd中的X-sendfile RoR网站如何利用lighttpd的X-sendfile功能提升文件下载性能 使用X-sendfile方式&#xff0c;服务器端应用程序不需要读取下载文件了&#xff0c;只需要设置response的header信息就足够了&#xff0c…

[译] ASP.NET 生命周期 – ASP.NET 上下文对象(六)

使用 HttpApplication 对象 ASP.NET 框架中的许多类都提供了许多很方便的属性可以直接映射到 HttpContext 类中定义的属性。这种交叠有一个很好的例子就是 HttpApplication&#xff0c;它就是全局应用类的基类&#xff0c;在下表中&#xff0c;你可以看到 HttpApplication 类中…

变得非常不vb

数组-136. 只出现一次的数字题目描述题目样例Java方法&#xff1a;位运算算法思路代码复杂度题目描述 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1&#xff1a; 输入: […

分析PHP中单双引号的误区和双引号小隐患

2019独角兽企业重金招聘Python工程师标准>>> 1、一般情况下两者是通用的.但如果双引号内写的是变量就会执行解析操作,而单引号则不解析&#xff0c;这个怎么说&#xff1f;还是举个例子吧。 这下看明白了吧&#xff01; 2、执行效率不一样&#xff0c;单引号的执行速…

javascript(js)的小数点乘法除法问题

一、用js计算12.32 * 7 结果是多少&#xff1f;答案&#xff1a;86.24000000000001为什么会出现这种问题&#xff1f;怎么解决&#xff1f;js在处理小数的乘除法的时候有一个bug&#xff0c;解决的方法可以是&#xff1a;将小数变为整数来处理。以上的计算可以改为&#xff1a…

sDVD消防大队

数组-136. 只出现一次的数字题目描述题目样例Java方法&#xff1a;位运算算法思路代码复杂度题目描述 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1&#xff1a; 输入: […

WPF的二维绘图(二)——几何图形Geometry

在WPF的DrawingContext对象中&#xff0c;提供了基本的绘制椭圆和矩形的API&#xff1a;DrawEllipse和DrawRectangle。但是&#xff0c;这些是远远不够用的&#xff0c;我们在日常应用中&#xff0c;更多的是使用DrawGeometry函数&#xff0c;它可以绘制更多复杂的几何图形&…

定期删除各子文件下数据

最近遇到一个客户有这样一个需求&#xff0c;需要在每日自动删除各用户文件夹下的数据而不删除根文件夹和每个用户父文件夹 Register-ScheduledJob -Name Remove-InternetDataFiles -ScriptBlock {$root "E:\Internet-Data"$dirs Get-ChildItem $root -Directoryfo…

PHP使用BC Math 函数处理浮点运算问题

BC Math 函数 http://cn.php.net/manual/zh/ref.bc.php做小数的相加减问题是&#xff0c;出现了浮点运算不准的情况&#xff0c;看来都说解释型语言对于浮点运算都会有问题的说法是真的。首先看一段代码: <?php$a 0.1;$b 0.7;var_dump(($a $b) 0.8); 打印出来的值居然为…

【重建】从FJOI2016一试谈起

2016.2.21 我是湖建的sb蒟蒻OIer FOIWCFJOI2016 体验性的旅途&#xff0c;新生 其实是刚刚找回密码闲的没事干 前排膜FZSZ各位学长 ORZ 闫神 ORZ 吴大爷 ORZ 汪巨 ORZ 邵司机 ORZ 方老师ORZ dxy zkp zzy 湖建省选一试被虐。不知道明年这个时候会有什么改变 总而言之&#xff…

是否正常正常是

数组-136. 只出现一次的数字题目描述题目样例Java方法&#xff1a;位运算算法思路代码复杂度题目描述 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1&#xff1a; 输入: […

pkg mysql 在macOS 上的管理

为什么80%的码农都做不了架构师&#xff1f;>>> 使用pkg安装后&#xff0c;在设置中启停&#xff0c;通过ps -ef|grep mysql查看进程的命令行即可看到各配置位置。 转载于:https://my.oschina.net/fox99/blog/1931674

PHP autoload 函数

(1) autoload机制概述 在使用PHP的OO模式开发系统时&#xff0c;通常大家习惯上将每个类的实现都存放在一个单独的文件里&#xff0c;这样会很容易实现对类进行复用&#xff0c;同时将来维护时也很便利。这也是OO设计的基本思想之一。在PHP5之前&#xff0c;如果需要使用一个…

sql按条件进行批量查询或update的关键字in

2019独角兽企业重金招聘Python工程师标准>>> SELECT t1.field1,t1.field2,t1.field3 from t1 where t1.pid in (select fid from t2 where t2.ch%123456%) 再看这段代码&#xff0c; select t.* from mefinance.me_customer_info t where t.id in (3285,4241,4243,4…

为什么很努力进步却不明显

今天有个玩的不错的同事问了我一个问题&#xff1a;他说我今年在努力学习测试方法&#xff0c;自动化测试等等&#xff0c;也写了不少测试用例&#xff0c;但总体感觉好像没有什么进步啊&#xff1f;他想不明白这是什么原因。其实当我遇到这个问题的时候&#xff0c;我也想了一…

spl_autoload_register与autoload区别

spl_autoload_register(PHP 5 > 5.1.2)spl_autoload_register — 注册__autoload()函数说明bool spl_autoload_register ([ callback $autoload_function ] )将函数注册到SPL __autoload函数栈中。如果该栈中的函数尚未激活&#xff0c;则激活它们。如果在你的程序中已经实现…

宣传部vv从v

数组-136. 只出现一次的数字题目描述题目样例Java方法&#xff1a;位运算算法思路代码复杂度题目描述 给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 题目样例 示例1&#xff1a; 输入: […

自动配置IPv4问题

对于 Windows &#xff0c; 配置 IP&#xff0c;如&#xff1a; 192.168.1.101&#xff0c; 如果这个 IP 已经在局域网内存在&#xff0c;那么将会提示局域网内已经存在该 IP。 而这个时候&#xff0c;Windows 7 将产生一个 “自动配置IPv4地址”&#xff0c;如&#xff1a;169…

营销自动化为什么能吸引企业的喜欢?它有何魅力?

在一次营销峰会上&#xff0c;我们听到这样一个令人惊讶的描述&#xff1a;“到2020年底&#xff0c;将会有85%的客户与企业的关系在没有人际互动的情况下进行管理。”虽然这听起来可能有点超前&#xff0c;但从营销的角度来看&#xff0c;“未来”已来。这个“未来”就是我们所…

php base64解码图片 base64加密图片还原

<?php//文件名:base64.php $data"/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2MBERISGBUYLxoaL2NCOEJjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY//AABEIADIA…

python mysql

2019独角兽企业重金招聘Python工程师标准>>> python实践3&#xff1a;cursor() — 数据库连接操作 (2012-05-07 11:00:40) 转载▼ 标签&#xff1a; itpython 操作数据库&#xff0c;要安装一个Python和数据库交互的包MySQL-python-1.2.2.win32-py2.5.exe&#xff0…

程序员效率低下的35个坏习惯

优秀程序员与平庸程序员的最终差别其实是习惯&#xff0c;避开那些让自己低效的坏习惯是程序员让自己变优秀的有效途径。 1.总是说“一会弄好”&#xff0c;但从来不兑现。&#xff08;缺乏任务管理和时间管理能力&#xff09;2坚持所谓的高效、优雅的“一行代码流”&#xff0…