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

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

    解题思路:默认第一个id为水王,遍历之后的id,若一样,水王不变,time加一;若不一样,time减一,若为0,水王更新,直到遍历结束。

    代码:

    #include<iostream>
    using namespace std;
    int findTheKingOfTheWater(int *id,int number)
    {
        int water;
        int time; 
        for(int i = time = 0;i < number;i++)
        {
            if(time == 0)
            {
                water = id[i];
                time = 1;
            }
            else
            {
                if(water == id[i])
                {
                    time++;
                }
                else  
                {
                    time--;
                }
            }
        }
        return water;
     } 
     
     void main()
     {
         int id[11]={4,4,3,7,5,4,5,4,5,4,4};
         cout << "水王为" << findTheKingOfTheWater(id,11) << endl;
     }

    局限性:如果水王帖子没有超过一半则查找失败。

  • 相关阅读:
    js问题记录
    css问题记录
    vscode配置java+gradle开发环境
    js插件
    nginx笔记
    vue刷新当前路由
    koa踩坑记录
    react踩坑笔记
    ts踩坑笔记
    vue源码阅读笔记
  • 原文地址:https://www.cnblogs.com/shenshenxin/p/5512970.html
Copyright © 2011-2022 走看看