课堂练习 -- 找水王续

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 }
The Main Code

3.实现截图

技术分享技术分享

4.个人总结

没有想出更好的解决方法,所以就选了这么一种方法,接下来再想想,试着用更好的方法解决。

以上是关于课堂练习 -- 找水王续的主要内容,如果未能解决你的问题,请参考以下文章

课堂练习-找水王续

找水王续

找水王续

课堂练习--找水王

课堂练习-找水王

课堂练习找水王02