题目:三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。
如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?
设计思路:
1、定义一个一维数组a[x],为作者id。
2、再设置一个循环,按照顺序来依次两两比较,如果作者id相同则保留,如果作者id不同则都删除。
3、最后剩余的作者id即为水王id
源程序:
1 import java.util.Scanner; 2 public class Select { 3 4 public static void main(String[] args) { 5 // TODO 自动生成的方法存根 6 System.out.println("共有多少个帖子"); 7 Scanner input =new Scanner(System.in); 8 int x=input.nextInt(); 9 String a[]=new String[x]; 10 //发帖子情况 11 for(int i=0;i<x;i++) 12 { 13 System.out.println("请输入第"+(i+1)+"个帖子的作者id"); 14 Scanner input1 =new Scanner(System.in); 15 a[i]=input1.nextLine(); 16 } 17 //找水王 18 String s=a[0];//水王 19 int c=1;//c是水王最后净帖子数,如果c不是正数则不是水王 20 for(int i=0;i<x;i++) 21 { 22 if(!s.equals(a[i]))//相等继续 23 { 24 c--; 25 if(c<=0) 26 { 27 s=a[i+1]; 28 c=1; 29 i++; 30 } 31 } 32 else 33 { 34 35 s=a[i]; 36 c++; 37 } 38 } 39 System.out.println("水王是"+s); 40 } 41 42 }
程序截图:
结果分析:
在过程中需要设定参数来统计水王净帖子数,方便最终找出水王