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

    一、实验要求

    l 三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。

    l 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

    二、设计思想

      每次比较两个相邻的ID是否一样,如果不一样则删除。首先假设第一个ID是水王,然后和第二个比较,看看是否相同,如果不同则把第二个命名为水王,一次类推,如果相同,则time++。在剩下的ID中,水王依然过半,重复这个过程,就可以找到水王。

    三、源代码

     1 #include "stdafx.h"
     2 
     3 #include "iostream"
     4 
     5 using namespace std;
     6 
     7  
     8 
     9 int main()
    10 
    11 {
    12 
    13     int a[10]={1,3,2,3,2,3,1,3,3};
    14 
    15     int result = a[0];
    16 
    17     int times = 1;
    18 
    19     for(int i = 1; i < 10; i++)
    20 
    21     {
    22 
    23         if(a[i] == result)
    24 
    25             times++;
    26 
    27         else
    28 
    29             times--;
    30 
    31         if(times == 0)
    32 
    33         {
    34 
    35             result = a[i];
    36 
    37             times = 1;
    38 
    39         }
    40 
    41     }
    42 
    43     cout<<"水王为:"<<result<<endl;
    44 
    45     return 0;
    46 
    47 }

    四、运行结果

    五、心得体会

      这个实验我刚刚看到的时候一点思路都没有,后来老师提供了一个思路,先排序,然后找到一半位置上的ID即为水王,但是由于那个时间复杂度太高,需要优化,但是实在没有思路,后来经过来时的提示,才明白该如何做。

  • 相关阅读:
    动态规划-1维消消乐
    矩阵求幂-倍加算法
    动态规划-匹配问题
    动态规划-最短回文串
    动态规划-最长回文子串
    动态规划-矩形嵌套
    动态规划-硬币找零
    windows 2003最完善最完美的权限及安全设置解决方案【转】
    python模块之email: 电子邮件编码
    word页面设置问题。通过域设置首页不计算页面的自定义页码格式
  • 原文地址:https://www.cnblogs.com/zhangyao999/p/5500194.html
Copyright © 2011-2022 走看看