• 三个水王


    一、题目

        随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?

    二、设计思路

        做过找一个水王的的题目,这次找的是三个水王。

        1、可以对帖子进行统计,数量最多的三个帖子为水王,但是这需要特别大的空间复杂度,不适用。

        2、既然三个水王都大于四分之一,那么,一次消掉4个不同的帖子,最后一定会剩下不同数量的三个水王的帖子,

    三、源代码

     1 #include<iostream.h>
     2 int main()
     3 {
     4     int ID[10]={1,2,3,4,1,2,3,1,2,3};
     5     int ID_NULL;//定义一个不存在的ID
     6     int shui[3];
     7     int flag[3];
     8     int i;
     9     shui[0]=shui[1]=shui[2]=0;
    10     flag[0]=flag[1]=flag[2]=ID_NULL;
    11     for(i=0;i<10;i++)
    12     {
    13         if(ID[i]==flag[0])
    14         {
    15              shui[0]++;
    16         }
    17         else if(ID[i]==flag[1])
    18         {
    19              shui[1]++;
    20         }
    21         else if(ID[i]==flag[2])
    22         {
    23              shui[2]++;
    24         }
    25         else if(shui[0]==0)
    26         {
    27              shui[0]=1;
    28              flag[0]=ID[i];
    29         }
    30         else if(shui[1]==0)
    31         {
    32              shui[1]=1;
    33              flag[1]=ID[i];
    34         }
    35         else if(shui[2]==0)
    36         {
    37              shui[2]=1;
    38              flag[2]=ID[i];
    39         }
    40         else
    41         {
    42              shui[0]--;
    43              shui[1]--;
    44              shui[2]--;
    45          }
    46     }
    47     cout<<"小水王是:"<<endl;
    48     cout<<flag[0]<<"  "<<flag[1]<<"  "<<flag[2]<<endl;
    49     return 0;
    50 }

    四、实验截图
       

    五、实验总结

        经过锻炼或者说老师的引导,这次的设计思路在课上就完成了,经过我和同学的讨论,他们都不认同我的,因为他们说不清楚怎么实现一次消除四个。我也是感到迷惑,初级的学习者在编写程序的时候大多数是建立在我们的能力基础上的,这是不可避免的。但是是不是也应该跳出我们是编程者去考虑一个思路呢。

  • 相关阅读:
    JS OOP -03 JS类的实现
    python 配置文件__ConfigParser
    1103_ddt 数据处理
    1101_数据处理优化
    了解 ptyhon垃圾回收机制
    10_30_unittest
    10_27_unittest
    10_27_requests模块
    知识积累 哈。。。
    Python练习
  • 原文地址:https://www.cnblogs.com/bmbcbyc/p/4463946.html
Copyright © 2020-2023  润新知