SYCOJ411
题面描述
MasMas在面试某大厂时遇到了一道有趣的题。
面试官要求MasMas写一个程序找出几个数中,出现次数为奇数的那个数。
MasMas抓耳挠腮,请你帮帮他。
输入描述
第一行输入一个数nn (1 \leq n \leq 10^7 ,n\mod\ 2\ =\ 1 )(1≤n≤107,nmod 2 = 1)
接下来nn个整数ii (ii在 intint 范围内 ),保证只有一个数出现奇数.
输出描述
输出出现次数为奇数的数
输入样例
51 1 2 3 3
输出样例
2
样例解释
1 出现 2次2 出现 1次3 出现 2次
所以输出22
1 #include<bits/stdc++.h>
2 using namespace std;
3 int ans,n,x;
4 int main()
5 {
6 scanf("%d",&n);
7 for(int i=1;i<=n;i++) scanf("%d",&x),ans^=x;
8 cout<<ans<<endl;
9 return 0;
10 }
题目中说了,偶数次,只有一个是奇数次。那么通过异或操作可以解决。
a^b
1.如果a,b相同,那么最后得到0
2.如果a=0,那么最后得到本身
所以所有偶数次,最后都得到0,那么到最后剩下唯一的一个异或0,得到本身。故该题得解。
SYCOJ411的更多相关文章
随机推荐
- 为什么Redis集群有16384个槽
一.前言 我在<那些年用过的Redis集群架构(含面试解析)>一文里提到过,现在redis集群架构,redis cluster用的会比较多. 如下图所示 对于客户端请求的key,根据公式H ...
- DevOps团队交付了什么?
一.简介 "你在团队里是做什么的?" "DevOps." "DevOps是什么呢?" "DevOps是一种文化.一种实践,目标是加 ...
- Nginx日志分析脚本
目录 一.简介 二.脚本 一.简介 运维工作是一个比较复杂的工作,有时候面对上万条的日志,如何作分析?难道一条条的分析? 这估计看两眼就要打哈欠了吧?聪明的人会选择脚本,这就是为什么现在提倡自动化运维 ...
- shell脚本 监控网卡信息
一.简介 源码地址 日期:2018/6/22 介绍:显示实时输入输出流量 效果图: 二.使用 适用:centos6+ 语言:英文 注意:无 下载 wget https://raw.githubuser ...
- shell脚本 双向登陆免密
一.简介 源码地址 日期:2018/4/23 介绍:用于hadoop的双向免密脚本,让填写机器互相之间免密登陆 效果图: 暂无 二.使用 适用:centos6+ 语言:中文 注意:执行前需要填写脚本里 ...
- Memcached 状态机分析
worker线程拿到了这个连接之后,就应该是分配给这个连接一个结构体,包括这个连接所有的状态,都写buf等,这个结构体就是conn,然后这个worker线程会在它自己的event_base加入对这个新 ...
- Python基础入门(7)- Python异常处理机制
1.初识异常 1.1.什么是异常与异常处理 异常就是错误 异常会导致程序崩溃并停止运行 能监控并捕获异常,将异常部位的程序进行修理使得程序继续正常运行 1.2.异常的语法 1 # coding:utf ...
- Boost Asio要点概述(一)
[注]本文不是boost asio的完整应用讲述,而是仅对其中要点的讲解,主要参考了Boost Asio 1.68的官方文档(https://www.boost.org/doc/libs/1_68_0 ...
- C# Dispose模式
需要明确一下C#程序(或者说.NET)中的资源.简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类: 托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象: 非托管资源:不 ...
- 解决VMware开机黑屏问题
最近搞虚拟机.一直遇见了许多问题.发现某一天.VMware开机后.其中一个虚拟机直接卡住黑屏了.关的时候就一直显示.xxx繁忙.无法关闭.网上搜到了解决方法.这边记录一下. 1.关闭所有服务 2.修复 ...