一、题目
UNIN队设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。
如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?
二、设计思路
1、将作者 id 存入一个一维数组
2、设置一个循环,按照顺序来依次两两比较 id ,如果作者id相同则保留,如果作者id不同则都删除
3、最后剩余的作者id即为水王id
三、源码
package HomeTest; 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("水王id为:" + s); } }