博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
课堂练习------寻找水王2
阅读量:6862 次
发布时间:2019-06-26

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

一、题目

•三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。
•如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?
•随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?
 
二、设计思想
原来问题的求解,是超过半数的水王,现在变成超出1/4,那么剩下的就不会超过1/4,由此可以分析,如果每次比较,去除其中不相同的三个数据,那么,跟去除找到其中超过1/2的ID数的解法是一样的,所以,我们可以设置一个数组来存储三个不相同的ID,然后从water列表中找出与这三个匹配的ID,如果匹配的话,那么计数标志signal[]+1,如果不匹配,所有ID的标志位-1,那么到最后剩下的肯定是数量最多的三个ID
三、代码截图
1 #include
2 void Data(int length,int a[]) 3 { 4 cout<<"请输入符合条件的ID列表(其中三个ID的数量分别超过1/4,其他的ID少于1/4):"<
>a[i]; 8 } 9 }10 11 int main()12 {13 int length;14 int signal[3]={
0,0,0};15 int ID[3]={-1,-1,-1}; //设置信号量16 cout<<"请输入帖子数量:";17 cin>>length;18 int * water=new int [length];19 Data(length,water);20 for(int i=0;i

 

转载于:https://www.cnblogs.com/xuqingtian/p/4520109.html

你可能感兴趣的文章
android用于打开各种文件的intent
查看>>
PHP截取字符串
查看>>
php基础:变量,运算符总结
查看>>
函数和对象方法的区别
查看>>
程序猿装逼从注释开始
查看>>
寄存器AX
查看>>
javascript之复习(css属性值的计算)
查看>>
dijkstra算法与优先队列
查看>>
Spring Data JPA
查看>>
LeetCode - Count Primes
查看>>
Zabbix和MPM监控MySQL
查看>>
求三角形的周长类的取值范围
查看>>
easyUI的简单之处
查看>>
蓝牙协议学习---BLE地址类型
查看>>
TP-LINK WR941N路由器研究
查看>>
洛谷P2824 [HEOI2016/TJOI2016]排序(线段树)
查看>>
JS隔行变色
查看>>
cocos2d 3.3 安装教程
查看>>
Sass笔记
查看>>
烂泥:NFS存储与VSphere配合使用
查看>>