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  }

    四、实验截图

      

    五、实验总结

      从上次找一个水王到这次找三个水王,我们可以发现,如果对于一个问题只要找到合适的办法,就可以解决这一类问题的办法,这就要在解决问题时能够做到举一反三,这样我们在遇到类似的问题时就能做到迎刃而解。比如说这两次找水王问题的解决,都发现找n个水王那么着n个水王发帖个数就会超过总帖数的1/(n+1),那么我们就可以总结出找出n个水王时的解决办法。

  • 相关阅读:
    SVN配置文件详解
    让Linux开机运行命令
    find命令用法介绍
    关于js优化和css优化
    弹性盒布局、头尾固定中间部分自适应布局
    css样式重置(初始化)收集
    动态嵌套form,使用Stimulus Js库(前后端不分离)
    给Mac的Dictionary添加其他原装词典
    使用rvm关联ruby版本和rails版本。
    Rails6.0 Beta版本1: ActionText的简单使用
  • 原文地址:https://www.cnblogs.com/cuipengbo/p/4585202.html
Copyright © 2011-2022 走看看