小水王

Posted 牙吃多了糖疼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小水王相关的知识,希望对你有一定的参考价值。

小水王设计思路:

对于一串id,建立一个数组,数组用来统计这串id列表中每个id出现的次数,然后求最大值把水王先找出来,把水王id所在位置的数组值全部变为0,把水王次数在循环中利用同样的方法,依次求出另外三个小数组最大值,找到他们对应的id并输出。

 

package demo;


public class show {
    public static void main(String[] args) {
    String[] id = {"a","b","a","c","a","b","a","d","a","e","a","b","a","c","a","d","a","b","a","a","d","d","a","a","d"};
  
    int i=0,j=0,n=0;
    int[] a=new int[id.length];
    String[] f=new String[3];
    int[] b=new int[3];
    int[] d=new int[3];
    for(i=0;i<id.length;i++)
    {
        a[i]=1;
    }
    for(i  = 0;i<id.length;i++)
    {
        for(j=0;j<id.length;j++)
        {
            if(id[j]==id[i]) a[i]++;

        }
       
    }
    int m=0,c=0;
    
    for(i=0;i<id.length;i++)
    {
        if(m<a[i]) m=a[i];
    }
    for(i=0;i<id.length;i++)
    {
        if(a[i]==m) c=i;
    for(i=0;i<id.length;i++)
    {
        if(id[i]==id[c]) a[i]=0;
    }
    for(i=0;i<3;i++)
    {
        b[n]=0;
        d[i]=0;
    }
    for(n=0;n<3;n++)
    {
          for(i=0;i<id.length;i++)
            {
                if(b[n]<a[i]) b[n]=a[i];
            }
            for(i=0;i<id.length;i++)
            {
                if(a[i]==b[n]) 
                    {
                    d[n]=i;
                    f[n]=id[d[n]];
                    }
                    
                if(id[d[n]]==id[i]) a[i]=0;
            }
    }
    System.out.println("这串id为:a,b,a,c,a,b,a,d,a,e,a,b,a,c,a,d,a,b,a,a,d,d,a,a,d ");
    System.out.println("小水王的id是 "+f[0]+""+f[1]+""+f[2]+"");
}

}}
View Code

 

 

 

实验截图:

以上是关于小水王的主要内容,如果未能解决你的问题,请参考以下文章

软件工程 寻找小水王

寻找水王2——寻找三个小水王

找小水王

找小水王

小水王

小水王