zoukankan      html  css  js  c++  java
  • 找水王02

    题目:

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

    设计思想:

        通过对帖子列表进行遍历,统计水王帖子的数目是最简单的一种查找水王的方式,但是这种算法时间复杂度比较高。但是目前我只想到了这种有点low方法,老师上课讲的没太听明白。

    程序概要设计:

        我的程序中首先假设列表中有40用户ID,逐个遍历,程序详细设计见源代码。

    源代码如下:

    
    

    //2016.5.27 王硕 20133099 找水王02
    #include <iostream>
    using namespace std;

    
    

    void main()
    {
     int i;
     int j=0;
     int count;
     int firstking=0;  
     int secondking=0;
     int thirdking=0;

    
    

     /*cout<<"三个小水王分别是: ";
     cout<<firstking<<"   "<<secondking<<"   "<<thirdking<<endl;
     cout<<endl;*/

    
    

     int news[40]={1,3,1,2,2,1,3,2,1,5,3,1,2,7,2,3,3,4,5,1,2,6,3,1,2,4,3,2,1,3,3,2,1,2,1,4,3,3,1,2};
     cout<<"帖子列表:"<<endl;
     for(i=0;i<40;i++)
     {
      cout<<news[i]<<"   ";
      if(i%8==7)
      {
       cout<<endl;
      }
     }
     cout<<endl;
     cout<<"找出的小水王:"<<endl;

    
    

     for(i=0;i<40;i++)
     {
      count=0;
      for(j=0;j<=40;j++)
      {
       if(news[i]==news[j])
       {
        count=count+1;
       }
      }
      if(count>=11)
      { 
       if(firstking==0)
       {
        firstking=news[i];
       }
       if(news[i] != firstking && secondking ==0)
       {
        secondking=news[i];
       }
       if(news[i] != firstking && news[i] != secondking)
       {
        thirdking=news[i];
        break;
       }
      } 
     }

    
    

     cout<<firstking<<"   "<<secondking<<"   "<<thirdking<<endl;
     cout<<endl;
    }

    
    

     实验结果:

  • 相关阅读:
    常用功能测试点的测试用例
    如何设计功能测试测试用例
    管理小原则
    政党提供的公共产品是其存在的依据
    为什么人是根本?
    学问总分类
    和孩子沟通的开头常用语
    教育的核心对象是心中的那枚种子
    用目标激发动力,用计划控制落实,用梳理总结进行提高
    要想影响孩子第一位的是保证沟通畅通
  • 原文地址:https://www.cnblogs.com/WS1004/p/5535306.html
Copyright © 2011-2022 走看看