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

    题目:三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

    思路:根据上课的时候同学提供的思路,这个问题可以简化为若干个数字里找出重复最多的一个数字,首先设立一个计数的参数j1,从第一个id开始,如果有两个连续的不同就跳过,同时j1减1,两个连续的id相同j1加1,并把连续的id值赋值给i1

    总结:主要是同学的思路打开了我的思维,把问题简化,找出重复次数最多的那个数字也就是水王,同时也告诉我学会集思广益,自己的想法总归是有局限性的

    #include <iostream>
    using namespace std;
    
    int findwater(int m[20],int n){
        int i1=0,j1=0;                               //设立两个参数,i1记录水王id,j1计数,
        int i;
        for(i = 0;i < n;i++){
            if(i1 == 0 || j1 == 0){                  //若i1为0或者j1为0,为i1(重新)赋值m[i],同时j1加一
                i1 = m[i];
                j1++;
            }
            else if(i1 == m[i])                      //若两个id值连续,j1加一
                j1++;
            else j1--;
        }
        return i1;
    }
    int main(){
      
        int id[20] ,num;
        int i;
        cout<<"请输入发帖数:"<<endl;
        cin>>num;
        cout<<"请输入发帖id:"<<endl;
        for(i = 0;i < num;i++)
            cin>>id[i];
        cout<<"水王id为:  "<<findwater(id , num)<<endl;
        system("pause");
    }

  • 相关阅读:
    列表、元组、字典等相关命令
    字符串相关命令
    Python简介
    二进制的趣事
    Shell脚本基础
    Linux基本服务
    一次性计划任务at与周期性计划任务crontab
    Linux权限管理
    python-文件操作
    python-初识python
  • 原文地址:https://www.cnblogs.com/laozhanghahaha/p/4513400.html
Copyright © 2011-2022 走看看