#面试题#三进制异或
来源:互联网 发布:手机百度音乐没有网络 编辑:程序博客网 时间:2024/06/16 16:43
#面试题#数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法,找到x。
分析:
假设该题目修改为:除了某一个数字x之外,其他数字都出现了两次,而x出现了一次。 则可以把所有数字直接求异或,最终的结果就是x。这个很好理解。
而该题目是其他数字都出现了三次,可以想到三进制异或运算。其实异或运算的本质就是求和 % base。 比如 1 ^ 1 = 0 其实就是 (1+1) % 2 = 0。 因此只要按位求和,最后再将每位结果 模除 3,再转换为二进制即是答案x。
代码如下:
- #面试题#三进制异或
- 常见算法笔试或面试题
- 常见算法笔试或面试题
- 常见算法笔试或面试题
- 常见算法笔试或面试题
- 常见算法笔试或面试题
- 常见算法笔试或面试题
- 常见算法笔试或面试题
- 常见算法笔试或面试题
- 常见算法笔试或面试题
- 常见算法笔试或面试题
- 常见算法笔试或面试题
- 常见算法笔试或面试题
- sql语句练习题或面试题
- 面试题:异或去重
- 面试题:异或经典思维题目
- 面试题:说说或运算、异或运算
- a和b交换面试题(用异或解决)
- notepad++ python配置
- ubuntu bits/predefs.h:没有那个文件或目录
- particle Designer
- C++中不定参数的函数实现
- VMware Workstation 9 下载(附序列号/注册机)
- #面试题#三进制异或
- Android应用项目-halloya【完结】
- 初学scrum
- 数据库事务
- 算法设计之五大常用算法设计方法总结
- 二部图总结
- JavaScript对象之HTML DOM对象
- C++中常用的库
- POJ 1799求圆半径