题目链接

\(Description\)

限制空间(只能保留两个变量),求给定n个数中出现次数超过\(\frac{n}{2}\)的数。

\(Solution\)

维护两个变量,\(now\)和\(cnt\);枚举\(x\):

  1. \(now\neq a_i\):若\(cnt=0\),则\(now=a_i,cnt=1\),否则\(cnt--\)。
  2. \(now=a_i\):\(cnt++\)。

    最后的\(now\)为答案。因为绝对众数出现次数超过了一半。

这题更好的方式是出成交互:Majority Element。

//920kb	56ms
#include <cstdio>
#include <cctype>
//#define gc() getchar()
#define MAXIN 100000
#define gc() (SS==TT&&(TT=(SS=IN)+fread(IN,1,MAXIN,stdin),SS==TT)?EOF:*SS++) char IN[MAXIN],*SS=IN,*TT=IN; inline int read()
{
int now=0;register char c=gc();
for(;!isdigit(c);c=gc());
for(;isdigit(c);now=now*10+c-'0',c=gc());
return now;
} int main()
{
int n=read(),now,cnt=0,t;
while(n--)
if((t=read())==now) ++cnt;
else if(!cnt) now=t, cnt=1;
else --cnt;
printf("%d\n",now); return 0;
}

最新文章

  1. Python类属性,实例属性
  2. delphi 10 seattle 安卓服务开发(三)
  3. virtualbox 安装ubuntu
  4. javascript 深拷贝
  5. RabbitMQ介绍2 - AMQP协议
  6. 使用.net FtpWebRequest 实现FTP常用功能 上传 下载 获取文件列表 移动 切换目录 改名 .
  7. Android特效--粒子效果之雨
  8. 安装vmware tools失败解决方法
  9. Struts 2.x仍然明显落后于时代。 Struts 2.x这一类老牌Web MVC开发框架仅能用于开发瘦客户端应用,无法用来开发对于交互体验要求更高的应用。
  10. OC类方法的调用
  11. Linux Smaba服务器配置
  12. python net-snmp 的使用
  13. 【一天一道LeetCode】#299. Bulls and Cows
  14. vector的用法小结(待补全
  15. 了解AutoCAD对象层次结构 —— 4 —— 符号表
  16. qt无法使用终端启动的解决方法
  17. [UE4]根据时间、速度进行插值:Finterp to Constant
  18. 运行vbs脚本
  19. Mercurial和Git的主要区别(zz)
  20. PHP百万级数据导出方案(多csv文件压缩)

热门文章

  1. javaweb购物车实现的几种方式
  2. SQL记录-PLSQL过程
  3. Codeforces 923 D. Picking Strings
  4. html文件中jquery与velocity变量中的$冲突的解决方法
  5. 20155224 2016-2017-2 《Java程序设计》第6周学习总结
  6. div中添加滚动条
  7. CF232C Doe Graphs
  8. 如何使用gifsicle压缩gif图片
  9. Mysql读写分离-Amoeba Proxy
  10. 最完整的PS快捷键大全(绝对经典)