zoukankan      html  css  js  c++  java
  • 三个水王

    一、题目

        随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的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 }

    四、实验截图
       

    五、实验总结

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

  • 相关阅读:
    odoo11 访问MSQL Server等第三发数据源
    学习 Git Rebase
    Arch Linux 启用 MTU 探测
    可控函数
    DIY:从零开始写一个 SQL 构建器
    F# 4.6 预览版正式公布
    使用 Immutable Subject 来驱动 Angular 应用
    如何对付运行时可能为 null 的 Record Type
    Angular Forms
    不要使用 JWT 进行会话管理
  • 原文地址:https://www.cnblogs.com/bmbcbyc/p/4463946.html
Copyright © 2011-2022 走看看