课堂练习 -- 找水王续
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课堂练习 -- 找水王续相关的知识,希望对你有一定的参考价值。
随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?
1.设计思想
使用“消去”的方法没有实现,只能用麻烦一点的方法,就是统计ID个数,利用两层循环,依次找出三个水王。内层循环统计个数,只要找到就停止循环,进行外层循环,外层循环从0开始,最多循环ID个数次(一般不会),只要找到了三个水王,就通过使用break结束循环,节省时间。
2.代码实现
1 import java.util.*; 2 3 public class ShiYan { 4 5 public static void main(String[] args) { 6 Scanner sca=new Scanner(System.in); 7 System.out.println("输入帖子总数"); 8 int num=sca.nextInt(); 9 int a[]=new int[num];int b[]=new int[3]; 10 int i,j,k,m=0,sw; 11 System.out.println("输入帖子ID"); 12 for(i=0;i<num;i++) 13 { 14 a[i]=sca.nextInt(); 15 } 16 for(i=0;i<num;i++) 17 { 18 if(m!=0) 19 { 20 while(a[i]==b[m-1]) 21 { 22 i++; 23 } 24 } 25 sw=a[i]; 26 k=1; 27 for(j=i+1;j<num;j++) 28 { 29 if(sw==a[j])//记录ID出现次数 30 { 31 k++; 32 } 33 if(k>(num/4))//ID数超过1/4为一个水王 34 { 35 b[m]=sw; 36 m++; 37 break; 38 } 39 } 40 if(m==3) 41 { 42 break; 43 } 44 } 45 System.out.println("水王ID "); 46 for(i=0;i<3;i++) 47 { 48 System.out.println(b[i]); 49 } 50 } 51 }
3.实现截图
4.个人总结
没有想出更好的解决方法,所以就选了这么一种方法,接下来再想想,试着用更好的方法解决。
以上是关于课堂练习 -- 找水王续的主要内容,如果未能解决你的问题,请参考以下文章