课堂练习-找水王

三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。

如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

实验代码:

bean.java

public class bean {
    private int id;
    private String userid;
    private String type;
    public bean(int id,String userid,String type)
    {
        this.id=id;
        this.userid=userid;
        this.type=type;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }

    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getUserid() {
        return userid;
    }
    public void setUserid(String userid) {
        this.userid = userid;
    }

}

dao.java

import java.util.ArrayList;
import java.util.List;

public class dao {
    public static void main(String[] args)
    {
        bean[] num=new bean[10];
        num[0]=new bean(1,"001","发帖");
        num[1]=new bean(2,"002","回帖");
        num[2]=new bean(3,"001","发帖");
        num[3]=new bean(4,"003","回帖");
        num[4]=new bean(5,"001","发帖");
        num[5]=new bean(6,"001","回帖");
        num[6]=new bean(7,"005","回帖");
        num[7]=new bean(8,"001","发帖");
        num[8]=new bean(9,"001","发帖");
        num[9]=new bean(10,"006","回帖");
        display(num);
        
        
    }
    public static void display(bean[] num)
    {
        int c = -1;
        int n=num.length;
        int m=0;
        String a=num[0].getUserid();
        for(int i=0;i<n;i++)
        {
            if(a.equals(num[i].getUserid()))
            {
                m++;
            }
            else
                m--;
            if(m<0)
            {
                a=num[i].getUserid();
                m=0;
            }
            
        }
        System.out.println("水王是:"+a);
    }

}

实验思路:

设计一个计数器m,假设第一个为水王,之后进行比较,如果相同则计数器加一,不同则减一,当计数器小于0时重新设置水王重新计算。

实验截图:

实验总结:

  本次实验中最重要的一点是水王永远是发帖数量最多的那一个,在此基础上进行筛选会方便的多,因此在看待问题时,要先抓住事物的特性。

原文地址:https://www.cnblogs.com/liujinxin123/p/10969848.html