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

    1题目要求:

    三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?(参考核心代码) 随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?

     2设计思路:

    同上一个思路相似,采用消除简化的思想,将其中比对消除。可将每个水王ID都与其它水军ID进行抵消最后剩下的就是三个水王,将前三个不同水军ID置为水王ID,开始抵消计数,“水王”中抵消后数量剩余为0的即被淘汰,用一个最新的水军ID继续进行抵消,最后剩下的即为水王ID。

    3源程序代码:
    #include<iostream> #include<string> using namespace std; #define N 16 void main() { int ID[N]={6,7,8,9,6,7,8,6,7,8,6,7,8,6,7,8}; int ID_NULL; int sw[3]; int a[3]; int i; sw[0]=sw[1]=sw[2]=0; a[0]=a[1]=a[2]=ID_NULL; for(i=0;i<10;i++) { if(ID[i]==a[0]) { sw[0]++; } else if(ID[i]==a[1]) { sw[1]++; } else if(ID[i]==a[2]) { sw[2]++; } else if(sw[0]==0) { sw[0]=1; a[0]=ID[i]; } else if(sw[1]==0) { sw[1]=1; a[1]=ID[i]; } else if(sw[2]==0) { sw[2]=1; a[2]=ID[i]; } else { sw[0]--; sw[1]--; sw[2]--; } } cout<<"小水王是:"<<endl; cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl; }
    4结果截图:
    
    
  • 相关阅读:
    ElasticSearch 深度搜索、滚动搜索,批量操作
    ElasticSearch搜索
    Elasticsearch 建立ik中文分词器和自定义分词
    React-Redux
    高阶组件-HOC
    React Context使用
    将秒数转换为时分秒格式
    『TensorFlow』TF2的模型保存
    『一图流』基于CRNN的OCR张量流概览
    Dapr微服务应用开发系列0:概述
  • 原文地址:https://www.cnblogs.com/sunmei20142925/p/5533015.html
Copyright © 2011-2022 走看看