题目:三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。
如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?
设计思路:
1、定义一个一维数组a[x],为作者id。
2、再设置一个循环,按照顺序来依次两两比较,如果作者id相同则保留,如果作者id不同则都删除。
3、最后剩余的作者id即为水王id
源程序:
import java.util.Scanner;
public class Select {
public static void main(String[] args) {
// TODO 自动生成的方法存根
System.out.println("共有多少个帖子");
Scanner input =new Scanner(System.in);
int x=input.nextInt();
String a[]=new String[x];
//发帖子情况
for(int i=0;i<x;i++)
{
System.out.println("请输入第"+(i+1)+"个帖子的作者id");
Scanner input1 =new Scanner(System.in);
a[i]=input1.nextLine();
}
//找水王
String s=a[0];//水王
int c=1;//c是水王最后净帖子数,如果c不是正数则不是水王
for(int i=0;i<x;i++)
{
if(!s.equals(a[i]))//相等继续
{
c--;
if(c<=0)
{
s=a[i+1];
c=1;
i++;
}
}
else
{
s=a[i];
c++;
}
}
System.out.println("水王是"+s);
}
}
截图: