小水王
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]+"。"); } }}
实验截图:
以上是关于小水王的主要内容,如果未能解决你的问题,请参考以下文章