zoukankan      html  css  js  c++  java
  • 小水王2

    1、实验题目

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

    2、实验思路

      我觉得这个题听考验我们解题的思路,刚开始只有一个打水王时还稍微简单一点,就是两个两个比较,相同则保留,不同则删除;这一次三个小水王的问题,一开始一点思路也没有,后来在查询了好多资料后,发现其实可以用同样的方法去解决这个问题,上一次是两个比较,这一个应定义三个标记,分别标记三个小水王,然后记录它们的累积次数,然后遍历整个列表,每处理一个ID,若与已标记的小水王中的某一个相同,则次数加一,若与三个都不同,则说明找到了四个互不相同的ID,将三个减一,也就相当于“删除了四个不同ID”,若某一个次数等于0,则重新开始寻找。

    3、实验代码

     1 #include<iostream>
     2 using namespace std;
     3 
     4 int main()
     5 {
     6     int length,i,id;
     7     int shuiwang [3]={0}; 
     8     int count[3] ={0}; //标记三个小水王
     9     int ID[10000];
    10     int water[10000];
    11     cout << "请输入帖子的总个数:";//定义帖子的长度,即数组的个数
    12     cin >> length;
    13     cout << "请依次输入每个帖子的发布者的ID:" << endl;//输入每个帖子的Id
    14     for (i = 0; i < length; i++)
    15     {
    16         cin >> id;
    17         ID[i] = id;
    18     }
    19    for(int i=0;i<length;i++)//查找三个小水王
    20     { 
    21             if(ID[i]==shuiwang[0])  
    22             {  
    23                  count[0]++;  
    24             }  
    25             else if(ID[i]==shuiwang[1])  
    26             {  
    27                  count[1]++;  
    28             }  
    29             else if(ID[i]==shuiwang[2])  
    30             {  
    31                  count[2]++;  
    32             }  
    33             else if(count[0]==0)  
    34             {  
    35                  count[0]=1;  
    36                shuiwang[0]=ID[i];  
    37             }  
    38             else if(count[1]==0)  
    39             {  
    40                  count[1]=1;  
    41                 shuiwang[1]=ID[i];  
    42             }  
    43             else if(count[2]==0)  
    44             {  
    45                  count[2]=1;  
    46                  shuiwang[2]=ID[i];  
    47             }  
    48             else  
    49             {  
    50                  count[0]--;  
    51                  count[1]--;  
    52                  count[2]--;  
    53              }  
    54     }
    55     
    56     cout<<"三个小水王的ID分别是:"<<endl;
    57     for(int i=0;i<3;i++)
    58      {
    59          cout<<shuiwang[i]<<" ";
    60      }
    61    cout<<endl;
    62    return 0;
    63 }

    4、实验截图

    5、时间记录日志(单位:h):

    日期 开始时间 结束时间 中断时间(min) 净时间(min) 活动 备注
    星期一 14:00 15:50 10(课间) 100 听课 软件工程
    星期二 20:00 22:00 0 120 编程 水王2
    星期三 15:00 17:00 10(休息) 120 看书 人月神话
    星期四 14:00 15:50 10(课间) 100 上机 水王2
      20:00 21:30 10(休息) 80 编程 水王2
    星期五 18:30 19:10 10(休息) 30 发博客 水王2
  • 相关阅读:
    Map与实体之间转换
    letsencrypt 免费SSL证书申请, 自动更新
    spring接收json格式的多个对象参数(变通法)
    controller函数中参数列表使用多个@RequestBody
    经典网页设计:30个新鲜出炉的扁平化网站设计《上篇》
    使用 iosOverlay.js 创建 iOS 风格的提示和通知
    字体大宝库:设计师必备的优秀免费英文字体
    RandomUser – 生成随机用户 JSON 数据的 API
    Salvattore:CSS 驱动的 jQuery Masonry 插件
    赞!jsPDF – 基于 HTML5 的强大 PDF 生成工具
  • 原文地址:https://www.cnblogs.com/zz0906/p/5535832.html
Copyright © 2011-2022 走看看