博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
寻找出现超过一半的数
阅读量:7091 次
发布时间:2019-06-28

本文共 397 字,大约阅读时间需要 1 分钟。

现在有一个数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数。

分析:设数A出现次数超过一半。每次删除两个不同的数,在剩余的数中,数A出现的次数仍超过一半。通过重复这个过程,求出最后的结果。这个题目与编程之美中寻找水王相同

 

1 #include
2 using namespace std; 3 //size为数组A的大小 4 //返回数组中出现超过一半的数 5 int search(int *A,int size) 6 { 7 int count=0; 8 int current; 9 for(int i=0;i
>i;39 return 0;40 }41

 

转载于:https://www.cnblogs.com/Juli016/p/5303555.html

你可能感兴趣的文章
【程序员电子刊精选】同一个团队,同一个目标
查看>>
关于加强保护网站安全的想法--引于IDF博文
查看>>
Java日志
查看>>
《百年孤独》作者加西亚.马尔克斯去世
查看>>
Java新增的日期时间格式器
查看>>
2014年下半年信息系统项目管理师上午试题试题与答案 30 视频解析
查看>>
我的友情链接
查看>>
2014微软open day 51CTO讲师、博主、版主~
查看>>
好程序员技术文档HTML5开发中js的创建和继承
查看>>
Linux 逻辑卷管理相关知识(1)
查看>>
我的友情链接
查看>>
MySQL主从介绍、准备工作、 配置主、 配置从、 测试主从同步
查看>>
servlet实现MVC
查看>>
修改mysql默认字符集charset
查看>>
Ruby2.3.3操作MongoDB入门(Mongo驱动版本2.4.3)-数据库CRUD(创建、查询、更新、删除)...
查看>>
UserMailbox 必须强制使用 Database
查看>>
iOS MD5加密字符串
查看>>
Forrester 2011年安全策略建议
查看>>
域用户登陆脚本
查看>>
System Center 2012 R2实例3—SCOM之SharePoint全方位监视9—内存监视
查看>>