找水王
2016-05-20 17:23
239 查看
题目:三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?
设计思路:根据题目,我们可以知道贴子数以及ID,还有最关键的一个信息是水王的帖子数超过了总帖子数的一半,所以我们就可以设一个变量count用来计数,先假设水王是第一个ID的人,从第一个帖子开始,如果 第二个帖子的ID和第一个帖子的ID相同,则count加1,如果不同,count就减1,最后如果count小于0,那么水王就变成下一个ID,如果大于0,就是第一个ID。这样遍历一遍,就能找到水王了。
源代码:
结果截图:
:
总结:刚拿到这个题目的时候一点思路也没有,后来听班里的大神讲思路,才知道原来可以这样写,知道了思路之后写着就快多了,其实一个题目最重要的就是思路了,没有思路什么也做不出来,所以,锻炼一个好的思维很重要。
缺陷记录日志:
缺陷是如果用户不小心将帖子数输入了字母,我的程序没办法进行出错处理。
时间记录日志:
设计思路:根据题目,我们可以知道贴子数以及ID,还有最关键的一个信息是水王的帖子数超过了总帖子数的一半,所以我们就可以设一个变量count用来计数,先假设水王是第一个ID的人,从第一个帖子开始,如果 第二个帖子的ID和第一个帖子的ID相同,则count加1,如果不同,count就减1,最后如果count小于0,那么水王就变成下一个ID,如果大于0,就是第一个ID。这样遍历一遍,就能找到水王了。
源代码:
// 2016/5/9,张晓菲,找水王问题 #include<iostream> using namespace std; #define N 100 int main() { int num; cout<<"请输入帖子数:"; cin>>num; while(num<=0) { cout<<"请重新输入帖子数:"; cin>>num; } int id ; cout<<"请输入ID:"; for(int i=0;i<num;i++) { cin>>id[i]; } int shuiwang=id[0];//定义shuiwang这个变量 int count;//用来计数 for(int j=0;j<num;j++)//从第一个ID开始遍历,如果第一个和第二个帖子ID相同,则count加1,不同则减1 { if(shuiwang=id[j]) { count=count+1; } else count=count-1; if (count<0)//如果count小于0,水王就等于下一个ID,然后再依次遍历 { shuiwang = id[j]; } } cout<<"水王是:"<<shuiwang<<endl; return 0; }
结果截图:
:
总结:刚拿到这个题目的时候一点思路也没有,后来听班里的大神讲思路,才知道原来可以这样写,知道了思路之后写着就快多了,其实一个题目最重要的就是思路了,没有思路什么也做不出来,所以,锻炼一个好的思维很重要。
缺陷记录日志:
缺陷是如果用户不小心将帖子数输入了字母,我的程序没办法进行出错处理。
时间记录日志:
日期 | 开始时间 | 结束时间 | 中断时间(min) | 净时间(min) | 活动 | 备注 |
5月16号 星期一 | 14:00 | 15:50 | 10(课间) | 100 | 上课 | 软件工程 |
5月17号 星期二 | 20:00 | 22:00 | 0 | 120 | 编程 | 大作业 |
5月18号 | 20:00 | 22:00 | 0 | 120 | 编程 | 找水王 |
5月19号 星期四 | 14:00 | 15:50 | 10 | 100 | 上机 | 软件工程 |
5月20号 星期五 | 16:30 | 17:30 | 0 | 100 | 整理博客、发博客 | 找水王 |
相关文章推荐
- 环形字符串最小最大表示法
- Leetcode 36.Valid Sudoku
- 利用googleZxing生成二维码识别二维码
- js代码定时执行一个方法,延迟一定时间后执行一个函数
- Android UiAutomator UiSelector类
- 遥感图去黑边
- 大型网站技术架构 学习总结一(基础了解)
- Java main方法参数args[]
- 机载导航系统的发展小整理
- CSS溢出处理
- Qt根据汉字生成位图,可连续调用,生成的位图不会有杂点
- 第七篇学习笔记
- 【C语言】二维数组转置
- 我的arduino theme文件
- 欢迎使用CSDN-markdown编辑器效果图 (请审核通过)
- DNS搭建
- MQ通道配置示例(1):Sender/Receiver
- Java三大特性之多态
- Apache Cordova——APP (HTML5, CSS3, and JavaScript)
- ReactOS-Freeldr注册表HIVE文件格式2