hdu 1029 求出现次数过半的数
2024-10-06 17:11:42
题目传送门//res tp hdu
已知必定存在一个元素出现次数超过一半,考虑用栈
若当前元素等于栈顶元素,入栈,反之出栈,并将当前元素入栈
最终的栈顶元素即是所求
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define per(i,a,b) for(int i = (a);i>=(b);--i)
#define fo(i,a,b) for(int i =(a);i<(b);++i)
#define de(x) cout<<#x<<" = "<<x<<endl;
#define endl '\n'
#define ls(p) ((p)<<1)
#define rs(p) (((p)<<1)|1)
using namespace std;
typedef long long ll;
const int mn = 1e6+10;
int n;
ll Top,t;
int cnt;
// stack
int main(){
while(scanf("%d",&n)!=EOF){
cnt = 1;
scanf("%lld",&Top);
rep(i,2,n){
scanf("%lld",&t);
if(t == Top)++cnt;
else{
if(cnt == 1)
Top = t;
else{
--cnt;
}
}
}
printf("%lld\n",Top);
}
}
最新文章
- SQLMAP参数介绍
- tyvj1189 盖房子
- 华硕笔记本之secure boot
- 自定义NavigationBar
- CSS3 background-size图片自适应
- Android常见开发思路
- Docker - 虚拟网桥
- 对.NET Core未来发展趋势的浅层判断
- 【转】Android-Input 键盘设备
- 使用c#封装海康SDK出现无法加载 DLL“..\bin\HCNetSDK.dll”: 找不到指定的模块
- UVA1626-Brackets sequence(动态规划基础)
- golang etcdclientv3使用说明
- system.transfer.list深度解析
- git的几个操作
- GridView通过RowDataBound事件获取字段值、数据源列值
- node+websocket创建简易聊天室
- Exception in thread ";main"; java.nio.channels.NotYetConnectedException
- cockpit 使用(集成docker &;&; k8s 管理)
- 第六章 声明式服务调用: Spring Cloud Feign
- python学习,day2:字典