找出发贴水王
来源:互联网 发布:演讲比赛倒计时软件 编辑:程序博客网 时间:2024/04/29 02:22
传说,Tango有一大水王,他不但喜欢发贴,还会回复其他ID发的每个帖子。坊间见闻该水王发贴
数目超过了帖子总数的一半,如果你有一个当前论坛上所有帖子的列表,其中帖子作者的ID也在表中
,你能快速找出这个传说 中的Tango水王吗?
思路: 既然水王的帖子起过总数的一半,那么如果遍历一遍ID列表,把不同的ID删除掉,包括水王的 ID,那么最后剩下的帖子中水王的ID还应该占总数的一半以上。算法复杂度log(n)
#include<iostream>using namespace std;int Find(int* ID, int N){ int waterKing; //水王ID int ntimes; //ID出现次数 int i; for (int i = ntimes = 0; i < N; i++) { if (ntimes == 0) //ID出现的次数为0,则将水王ID置为下标所在位置 { waterKing = ID[i]; ntimes = 1; } else { if (waterKing == ID[i]) //如果水王ID与邻近的ID相同,则不删除,ID出现次数加1 { ntimes++; } else ntimes--; } } return waterKing;}int main(){ int IDs[] = { 1, 2, 3, 4, 4, 3, 5, 3, 6, 3, 3, 3 }; int waterking = Find(IDs, 12); cout << "水王就是 " << waterking << endl; system("pause"); return 0;}
0 0
- 找出发贴水王
- 寻找发贴水王
- [编程之美]寻找发贴水王Tango
- 足球贴水术语一览
- 贴贴水题
- URAL 1572. Yekaterinozavodsk Great Well(继续贴水题~)
- 发
- 发
- 发
- 发
- 发
- 瞬发QQ群发王
- 精辟讲解足球竞彩中的盘口 上盘 下盘 贴水等名词的意思
- 第二篇:欧赔的体系形成与亚盘的贴水依据
- 找出Admin
- 找出topN
- 找出直系亲属
- 找出直系亲属
- iOS自定义转场动画(4)——自定义模态跳转之dismiss与手势驱动
- js获取所有复选框中的值
- HDU 2076 夹角有多大(水~)
- android之Volley框架的使用(1)
- IOS开发之C基础-循环结构
- 找出发贴水王
- 学习DataGridViewX
- 优秀程序员必须知道的32个算法
- Firebug入门指南
- 杭电1019——最小公倍数(简单题)
- 调查问卷数据库设计
- 用matlab画Mandelbrot(曼德布罗特)图
- IOS-UITableView上的纯代码实现
- android 使用代码实现 RelativeLayout布局