• 课堂作业找水王2


    找水王2:

    超级水王没有了。统计结果表明,有3个发帖很多的ID ,他们的发帖数目都超过了帖子总数目N的1/4。你能从发帖ID列表中快速找出他们ID吗?

    设计思想:

    和上一次的思路同源,如果每次删除四个不同的ID(不管是否包含发帖数目超过总数1/4的ID),那么,在剩下的ID列表中,原先发帖比例大于1/4的ID所占比例仍然大于1/4,可以通过不断重复这个过程,把ID列表中的ID总数降低(转化为更小的问题),从而得到问题的答案。

    代码实现:

    package test1;
    
    public class ForumKing {
    
        public static void main(String[] args) {
            int ID[]={1,1,3,1,2,3,2,2,3,4};
            int n=10;
            int times[]=new int[3];
            int king[] =new int[3];
            times[0]=times[1]=times[2]=0;
            king[0]=king[1]=king[2]=-1;
            for(int i=0;i<n;i++){ 
                  if(ID[i]==king[0])  
                  {    
                      times[0]++;     
                  }
                  else if(ID[i]==king[1])   
                  {
                      times[1]++;
                  }    
                  else if(ID[i]==king[2])   
                  {    
                      times[2]++;
                  }   
                  else if(times[0]==0)   
                  {    
                      times[0]=1;    
                      king[0]=ID[i];    
                  }    
                  else if(times[1]==0)   
                  {    
                      times[1]=1;    
                      king[1]=ID[i];   
                  }    
                  else if(times[2]==0)   
                  {    
                      times[2]=1;    
                      king[2]=ID[i];   
                  } 
                  else//此时删除四个不同元素   
                  {    
                      times[0]--;    
                      times[1]--;    
                      times[2]--;   
                  }   
            }
            System.out.println("水王的ID:");
            for(int j=0;j<3;j++)
            {
                System.out.print(king[j]+" ");
            }
        }
    
    }

    结果截图:

    心得体会:

    这一类问题大致就是运用一个思想就能解决那就是等效替换的思想,利用消除多余项来简化问题,这种思想很是简洁实用。

  • 相关阅读:
    Memcached
    Keepalived
    Nginx配置根据客户端设备转发
    ASP.NET跨平台实践:无需安装Mono的Jexus“独立版”
    Linux系统下如何查看CPU个数
    Ubuntu 安装mysql和简单操作
    python类库26[web2py之基本概念]
    Ubuntu Server 12.04 静态IP简洁配置
    全面解读python web 程序的9种部署方式
    Python3实现连接SQLite数据库的方法
  • 原文地址:https://www.cnblogs.com/kt97458/p/5535402.html
Copyright © 2020-2023  润新知