给你n个数,其中有且仅有一个数出现了奇数次,其余的数都出现了偶数次。用线性时间常数空间找出出现了奇数次的那一个数。

分析:

从头到尾异或一遍,最后得到的那个数就是出现了奇数次的数。这是因为异或有一个神奇的性质:两次异或同一个数,结果不变。再考虑到异或运算满足交换律,先异或和后异或都是一样的,因此这个算法显然正确。

转载于:https://www.cnblogs.com/AbandonZHANG/archive/2012/07/18/2598325.html

一个奇妙、离奇的算法题相关推荐

  1. 挑战坚持每天写算法题一个月

    目录 前言 2021-10-8 题目 合并两个有序数组 解题思路 代码 其他思路 2021-10-9 题目 数组中的重复数字 二维数组中的查找 解题思路 数组中的重复数字 二维数组中的查找 代码 总结 ...

  2. 算法题:实现一个IP白名单过滤器

    最近看到一则招聘的JD,附了一个算法题的链接,原题如下: 请实现一个IP白名单过滤算法,实现以下接口boolean addWhiteIpAddress(String ip);boolean isWhi ...

  3. 算法—2,记一个自己的算法题 计算数字k在0到n中的出现的次数,k可能是0~9的一个值

    3 计算数字k在0到n中的出现的次数,k可能是0~9的一个值 例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1 ...

  4. java统计一个字符串中每个字符出现的次数_剑指offer算法题054:字符流中第一个不重复的字符...

    推荐阅读:宇宙条的工作总结:一年前还在面试找工作,一年后在面试找工作的学弟学妹们:第一次当面试官的经历分享小编在求职找找工作期间剑指offer上的算法题刷了很多遍,并且每道题小编当时都总结了一种最适合 ...

  5. 100个灯泡python编程_算法题:一个圆环上有100个灯泡,灯泡有打...

    算法题:一个圆环上有100个灯泡,灯泡有打开关闭两种状态,灯泡状态随机,按一个灯泡,相邻两个灯泡的状态也会改变. eg: ' 暗 - 亮 - 暗 ' 按中间灯泡 ,变化为 ' 亮 - 暗 - 亮 '. ...

  6. C1模拟试卷的一个算法题

    C1模拟试卷的一个算法题 题目: 使用Math生成一个随机数,这个随机数需要在0到500之间. 然后,在网页中打印出来从10到这个随机数的回文数. 代码实现: <!DOCTYPE html> ...

  7. 面试高频算法题补充系列:如何判断一个点是否在三角形内?

    前言 了解更多常考高频算法题可以关注 公众号:一个搬砖的胖子 企业面试题库:https://codetop.cc/ 小程序:CodeTop 该题曾出现在字节跳动.腾讯.网易.美团.小马智行等公司的面试 ...

  8. 刷了一个半月算法题,我薪资终于Double了

    戳蓝字"CSDN云计算"关注我们哦! 技术头条:干货.简洁.多维全面.更多云计算精华知识尽在眼前,get要点.solve难题,统统不在话下! 前言 很多人感觉大公司都是要手写算法, ...

  9. 剑指offer算法题,输入一个链表,反转链表后,输出新链表的表头。

    链表的算法题一直做的浑浑噩噩的,为了避免忘记以及能够及时的温故知新,所以将本次的解答记录如下: 话不多说,先贴代码: /* public class ListNode {int val;ListNod ...

  10. 算法题:一个圆环上有100个灯泡,灯泡有打开和关闭两种状态,灯泡的状态随机,按一个灯泡的开关,相邻的两个灯泡的状态也发生一次变化。比如暗-亮-暗,按中间灯泡,变化为亮-暗-亮。问设计一道算法,使得所有

    算法题:一个圆环上有100个灯泡,灯泡有打开和关闭两种状态,灯泡的状态随机,按一个灯泡的开关,相邻的两个灯泡的状态也发生一次变化.比如暗-亮-暗,按中间灯泡,变化为亮-暗-亮.问设计一道算法,使得所有 ...

最新文章

  1. 程序员的你还沉浸在大公司就是螺丝钉?小公司锻炼人?错了!看完即懂
  2. Protobuf windows
  3. Leetcode 231. 2的幂 解题思路及C++实现
  4. c语言计算机猜数字100以内,求一个猜数字C语言代码,要求如下 计算机生成一个100以内的随机数,玩家来猜 记录猜的次数,最后打...
  5. 利用钩子机制取得Windows的消息监控权
  6. php伪静态是什么,php路由设置伪静态
  7. pytorch 指定卡1_收藏 | 13则PyTorch使用的小窍门
  8. E. 2-3-4 Tree
  9. 复旦微电子fpga数据手册_牛眼IPO | 复旦微闯关科创板:主要产品售价走低、晶圆成本却在上升...
  10. centos6.6编译安装lnmp系列之nginx
  11. 嵌入式基础面八股文——死锁与饥饿(4)
  12. 深刻剖析快速排序为什么不稳定?
  13. java实验——设计圆柱体类和圆锥体类,继承圆类Circle并实现Volume接口,计算体积。
  14. 0xc0000225无法进系统_手把手研习win10系统出现0xc0000225无法进入系统的方法
  15. EAUML日拱一卒-多任务编程超入门-(14)麻雀虽小,五脏俱全
  16. LSD算法调节参数GUI
  17. 数学建模学习(98):CHIO优化算法
  18. Visual Assist X 10.9 builds 2333 with patch.7z
  19. 在Centos下安装java jdk
  20. 还不懂PID控制?精华都在这了!

热门文章

  1. java如何抽离_「小程序JAVA实战」 小程序抽离公用方法进行模块化(12)
  2. JavaSE基础——GUI编程(AWT)
  3. 两个页面用url传值 和设置页面字段为不可编辑或是只读
  4. min-width_min-height_max-width_max-height 设置元素最小或最大长度
  5. Android 四大组件 之 活动(Activity)
  6. Linux CentOS 7.2 安装 Tomcat 8 服务器
  7. 保存更新失败,事务回滚,但是MQ消息发送成功。
  8. node.js使用cluster实现多进程
  9. 有关风向及风向处理的笔记
  10. spring第二冲刺阶段第七天