| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 面试题:如何在多个重复数字中找到不重复的数字 -> 正文阅读 |
|
[数据结构与算法]面试题:如何在多个重复数字中找到不重复的数字 |
1.问题的由来: ? ? ? 这是今天遇到的一个面试题,面试最后阶段,因为自己的才疏学浅没有合理的答上来,可能目前已经被PASS了,最开始我想到的是HashMap的特性,但是面试官说不要产生堆空间,所以这个方案也被否了,于是我请教了面试官,面试官说可以采用异或运算,于是有了这篇文章,下面就开始给大家讲一讲什么是异或运算,以及异或运算的特点。 2.什么是异或运算? ? ?异或运算是一种常用的位运算,在算法题中,对于避免额外的空间复杂度有独特的用处。 3.异或运算的特点(口诀:相同取0,相异取1): ? 特点1:一个数被另一个数异或两次其值不变。 ? ? ? ? ? 例如:a ^ b ^ b = a的原值 ? 特点2:两个一样的数字进行异或会等于0 ? ? ? ? ? 例如:a ^ a = 0 ? 特点3:两个不同的数字进行异或会等于1 ? ? ? ? ? 例如:a ^ b = 1 ? 特点4:0 异或 非零数都等于这个数 ? ? ? ? ?例如:0?^ -1 = -1 ?4.总结下下面试题的代码:
? 5.以上就是今天为大家分享的技术,略有轻薄,还请海涵。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:50:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |