2456. mode【乱搞】
2024-10-21 06:38:19
Description
给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数。
Input
第1行一个正整数n。
第2行n个正整数用空格隔开。
Output
一行一个正整数表示那个众数。
Sample Input
5
3 2 3 1 3
3 2 3 1 3
Sample Output
3
HINT
100%的数据,n<=500000,数列中每个数<=maxlongint。
因为众数要超过一半,所以我们让两个不相同的数相互抵消,最后剩下的就是众数了
#include<cstdio>
using namespace std;
int n,cnt,x,num;
int main()
{
scanf("%d",&n);
for (int i=;i<=n;++i)
{
scanf("%d",&x);
if (cnt==)
{
cnt++;
num=x;
}
else
if (x!=num)
cnt--;
else
cnt++;
}
printf("%d",num);
}
最新文章
- 关于BigDecimal 和 double 类型保存金钱,以及精度问题,银行家舍入法
- SQL年月日方面的查询信息
- gerrit添加新用户
- 最短路算法floyd
- JSONArray遍历
- 使用WITH AS提高性能简化嵌套SQL(转载)
- python 关键字参数
- ios webview点击图片看大图效果及相应手势操作
- CentOS下Apache+SVN+LDAP的安装与配置
- Joel在耶鲁大学的演讲
- [资源]网上常用免费WebServices集合 转载
- Cycling
- Ubuntu 安装Appium
- 自建Nuget服务器
- SimplifyReader项目(转载)
- JS类型转换(强制和自动的规则)
- Eclipse 项目导入 Android Studio 导致的乱码问题
- 15.Mysql中的安全问题
- Springboot 之 自定义配置文件及读取配置文件注意:配置文件中的字符串不要有下划线 .配置中 key不能带下划线,value可以(下划线的坑,坑了我两天..特此纪念)
- ofstream的使用方法--超级精细。C++文件写入、读出函数(转)