首页 > 其他 > 详细

课堂作业-寻找水王

时间:2016-05-20 19:13:54      阅读:104      评论:0      收藏:0      [点我收藏+]

[设计思想]

  因为水王是整个论坛中发帖和回帖数加起来最多的的人,且超过总帖数的一半以上。(这里将发帖数和回帖数记在一起)使用"两两相消"的方法。将帖子的作者id纳入数组,将数组中的一个数记作疑似水王者,并记发帖数t=0。遍历数组,若数组中的数和疑似水王者id相同,使发帖数t加一。如与疑似水王者id不同,使发帖数t减一。当t=0时,将数组中当前与水王疑似者比较的数作为新的疑似水王者。循环结束,当前水王怀疑者就是水王。

[代码实现]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.Scanner;
 
public class KingOfWater {
    public static void main(String args[]){
        int length;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入总帖数:");
        length = sc.nextInt();
        String Poster[] = new String[length];
        System.out.println("请输入每个帖子的发帖者:");
        for(int i=0;i<length;i++)
        {
            Poster[i] = sc.next();
        }
         
        String suspect=Poster[0];
        int t=0;
        for(int i=0;i<length;i++)
        {
            if(suspect.equals(Poster[i]))
            {
                t+=1;
            }
            else
            {
                t-=1;
            }
            if(t==0)
            {
                suspect = Poster[i];
                t=1;
            }
        }
        System.out.println("事情的真相只有一个,TheKingOfWater是:");
        System.out.println(suspect);
    }
}

 

[实现截图]

技术分享

技术分享

技术分享

课堂作业-寻找水王

原文:http://www.cnblogs.com/maplely/p/5513039.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!