找出数组中出现奇数次的元素<异或的应用>
2023-09-27 14:22:40 时间
点击打开链接:百度面试题之找出数组中之出现一次的两个数(异或的巧妙应用)
题目描述|:给定一个包含n个整数的数组a,其中只有一个整数出现奇数次,其他整数都出现偶数次,请找出这个整数
使用异或操作,因为值相等的两个元素异或后结果为0,那么将数组的所有元素进行异或以后,结果就是出现奇数次的那个整数
#include<iostream> using namespace std; int Find_Number_appear_old_times(int a[], int n) { int ret= a[0] ; for(int i = 1; i < n; i++) ret^= a[i] ; return ret ; } int main() { //Test code int test[] = {2013,1991,1991,1991, 1992, 1993, 1994, 1994, 1993, 1992, 1993, 1993, 2013} ; cout<<"Number_appear_old_times:\n" <<Find_Number_appear_old_times(test, sizeof(test)/sizeof(test[0])) << endl ; } /*********************** 运行结果: Number_appear_old_times: 1991 ************************/
相关文章
- Hibernate Validator的应用实践
- Java基础语法——数组概念、数组内存图解(一个数组、二个数组)及二元数组的应用
- 【DSP开发】解读TI的KeyStone II云技术应用
- Jersey 2.x 基于 Servlet 的服务器端应用
- 独家丨2017全国深度学习技术应用大会回顾:传统的AI研究方法,在DL时代该如何变革?
- 移动大数据在互联网金融反欺诈领域的应用
- AXURE在原型设计中的应用
- 高性能Linux服务器构建实战:运维监控、性能调优与集群应用
- 在Spring应用中创建全局获取ApplicationContext对象
- 【C语言】飞机大战游戏还原,源码在文末,应用“循环”与“数组”实现游戏开发,一起玩一下经典小游戏吧
- 计算机视觉应用要不要用语音识别和自然语言处理?
- 字符串分隔为二维数组,二级和三级指针的应用案例
- Hive高级应用(三)
- ElasticSearch 之 dis_max tie_break的应用
- 程序猿如何从产品的角度去提升应用的体验之Android权限优化篇
- QT5.x应用在Mac OS X和Windows平台的发布过程
- AngularJS 1.x系列:AngularJS简介及第一个应用(2)
- dubbo的SPI应用与原理
- Java数组的应用:案例:杨辉三角,三维数组,字符串数组
- VisualStudio 调试时会不断刷新 WPF 应用渲染
- 【COM原理和应用】3、COM的实现