课堂练习之检测水军

一、实验题目与设计思路

1、题目:

三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。

如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

2、设计思路

   首先这个题目有有一个前提就是在总帖数一定的情况下,这些帖子里面有一半以上的帖子都设计到一个ID,这个ID就是水军,为了制止这个水军,就要检测出这个水军,那么我们定义一个数组,数组里面的数字定为水军的ID,在这个数组里面查找出在数组里出现半数以上的这个ID,要求时间复杂度为o(n),意思就是只能有一层for循环,按照老师上课讲的采用消消乐的方式,两个不一样的就消去,因为水军的帖子数超过半数,那么消到最后剩下的就是水军,然后在输出这个水军的ID。

二、源代码

 1 // shuiwang.cpp : Defines the entry point for the console application.
 2 //
 3 
 4 #include "stdafx.h"
 5 #include "stdio.h"
 6 
 7 
 8 int main(int argc, char* argv[])
 9 {
10     int a[10000];
11     int tiezishu; 
12     int i,j,k=1;
13     int shui;
14     printf("请输入帖子总数:");
15     scanf("%d",&tiezishu);
16     printf("\n");
17     for(i=0;i<tiezishu;i++)
18     {
19         printf("\n请输入第%d个帖子的ID:",i+1);
20         scanf("%d",&a[i]);
21     }
22     shui=a[0];
23     for(i=1;i<tiezishu;i++)
24     {
25         if(shui!=a[i])
26         {
27             k=k-1;
28             if(k<0)
29             {
30                 shui=a[i+1];
31                 k=1;
32                 i++;
33             }
34         }
35         else
36         {
37             shui=a[i];
38             k=k+1;
39         }
40 
41     }
42     printf("\n水王ID是:%d\n",shui);
43     return 0;
44 }

 

三、运行结果截图

 

四、心得体会

每一个题目的设计实现有很多种方法,有笨的方法,有简单的方法,有最优化的方法,也有复杂度比较大的方法,这次老师要求我们用时间复杂度比较低的方法来实现,但是首先我想到的还是最笨的方法来实现,以前对程序的时间复杂度并没有要求,只要能够实现了题目的要求就好了,程序实现了也没有想过优化,但是这次深刻的体会到了,一个好的程序代码精简但是功能强大。话又说回来,一个好的程序设计的难度也是比较高的,但是我们要这样的锻炼下去,我相信慢慢的我们的能力就会提高很大。

转载于:https://www.cnblogs.com/hanshidiguo/p/4445762.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以检测文章的原创度 ,破解版的无错,帮助seo更好的写文章。 在百度对文章原创度日益严苛的今天,准确把握站内文章原创细节,杜绝站内、站外雷同甚至近似的文章出现,做到真正的“原创”,并提供可靠参考数值用来帮助评定编辑工作标准。 软件用途: 1.在日常编辑管理工作中,本工具可检测一篇文章中,每个段落在网络上出现的次数(即飘红次数),进而得出文章原创部分百分比。 2.有效避免文字不同思路相同的简单伪原创方法(因为百度已可以识别,推荐多文章混合伪原创),通过整篇文章检测结果中的网址,可以找到与站内文章主题、论点相似的文章也就是近似文章,就算排版不同、替换近义词、增加原创段落,也依然也可以找到。 2.提供原创文章百分比(根据飘红数量),提供相似文章数量(数值不准,但可以准确反映出相同文章的规模大小),可用来改进外推文章选择和制定编辑工作评定衡量标准。 水军十万文章原创度检查工具 使用本工具因为飘红检查依赖搜索引擎所以,必须联网才能正常使用本工具; 其次,手工复制要检查的站内文章,将其粘贴在软件第一个文本框内; 再次,点击检查; 再再次,稍等片刻过后,相似文章数量,文章原创度都会显示出来。但建议你看看"整篇文章原创度检测结果"中的内容,第一条网址一定是最相似的,如果有一模一样的文章一定会排第一,如果没有找到相似的文章,也会出现结果,但第一条网址你一打开就能发现是不是相似度很高,毕竟理论上不存在毫不相关的文章,所以一定会找到结果,只是结果与检查文章在阅读起来的相似程度不一样罢了; 再再再次,软件上面的那些数字小参数如原创检测标准等,推荐不要修改直接用默认的,原创检测标准是判断原创段落的飘红次数,在几次之内算原创;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值