找水王

一、题目

    三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

二、设计思路

    这道题的主要突破口还是老师给的思路“两两相消”

    即在str数组中,存在着0-9数字,其中一个数字的个数超过了50%,找到这个数字。

三、代码

#include<iostream.h>
int main()
{
  int j=0,k=0;
  int a[10]={5,5,3,5,3,3,3,5,3,3};
  k=a[0];
  for(int i=0;i<10;i++)
  {
    if(k=a[i])
    {
      j-=1;
      if(j<=0)
      {
        k=a[i+1];
        j=1;
        i++;
      }
      else
      {
        k=a[i];
        j+=1;
      }
    }
  }
  cout<<"水王是:"<<k<<endl;
  return 0;
}

   

 

四、实验截图:

四、实验心得

  通过这次实验,一件事情有很多解决办法,但要结合题目要求,别人能认可、肯定的才是好的,尤其是老师的要求,增加了一定的难度,但也锻炼了我们,扩展了我们的思维,不是能做出来就好,代码短还能完美实现功能才是目标,也是老师说的优化

原文地址:https://www.cnblogs.com/dgj1314/p/5530201.html