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

    一、题目

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

    二、设计思路

      参考原来问题的解法,如果每次删除4个不同的ID(不管是否超过总数1/4的ID),那么,剩下的ID列表中,原先发帖比例大于1/4的ID所占比例仍然大于1/4。可以通过不断重复这个过程,把ID总数降低,从而得到问题的答案。具体方法:用shuiwang[3]记录三个候选ID,用key[3]记录它们的累积次数,然后遍历整个ID列表,每处理一个ID,若与shuiwang[i]中的某一个相同,则key[i]++,若与三个都不同,则说明找到了四个互不相同的ID,将三个key[i]--,也就相当于“删除了四个不同ID”,若某一个key[i]==0,则更新之。

    三、

    #include<iostream.h>
    #include<String.h>
    void find(int ID[],int N)
    {
            int i;
            int key[3];
            int shuiwang[3];
            key[0]=key[1]=key[2]=0;
            shuiwang[0]=shuiwang[1]=shuiwang[2]=0;
            for(i = 0; i < N; i++)
            {
                if(ID[i]==shuiwang[0])
                {
                     key[0]++;
                }
                else if(ID[i]==shuiwang[1])
                {
                     key[1]++;
                }
                else if(ID[i]==shuiwang[2])
                {
                     key[2]++;
                }
                else if(key[0]==0)
                {
                     key[0]=1;
                     shuiwang[0]=ID[i];
                }
                else if(key[1]==0)
                {
                     key[1]=1;
                     shuiwang[1]=ID[i];
                }
                else if(key[2]==0)
                {
                     key[2]=1;
                     shuiwang[2]=ID[i];
                }
                else
                {
                     key[0]--;
                     key[1]--;
                     key[2]--;
                 }
            }
            for(i=0;i<3;i++)
            {
                cout<<"水王"<<i+1<<"的ID是"<<shuiwang[i]<<endl;
            }
    }
    int main()
    {
        int ID[]={1,2,1,1,2,3,2,3,3,4,4};
        find(ID,11);
    }
    

    四、截图

    五、总结

       本次实验收获颇丰,思想和上一水王一样,消去的方法还是很好的。

  • 相关阅读:
    面向对象和面向过程的区别
    k-means算法
    win10系统下安装mysql
    python并发编程之多进程
    操作系统的概念
    前端基础之html
    聚类分析
    决策树
    Mysql
    SQL练习题
  • 原文地址:https://www.cnblogs.com/wang321/p/4583531.html
Copyright © 2011-2022 走看看