1.题目要求
2.设计思想
根据题意,在所有帖子里,找出发帖满足要求的帖子数即可找到水王
3.代码实现
package com.b; import java.util.Scanner; /** * @author ywq * @date 2020/5/28 12:29 */ //已知帖子列表和id //判断ID出现的次数和总数的关系 public class FindWaterKing { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n; //帖子总数 System.out.println("请输入当前帖子总数:"); n = sc.nextInt(); //每个帖子的发帖者ID System.out.println("请依次输入每个发帖者ID:"); int[] list = new int[n]; for (int i = 0; i < n; i++) { System.out.println("第" + (i + 1) + "位发帖者ID:"); list[i] = sc.nextInt(); } //基准值,预先假设第一个帖子的人是水王 int answer = list[0]; //发帖数 int number = 1; //一半以上是水王 for (int i = 0; i < n; i++) { //遍历过的帖子里,存在一半不是当前ID发的 if(number==0) { //更新基准值和其发帖数 answer=list[i]; number=1; } //发过贴 else//当前帖子仍然是该ID所发,发帖数+1 if(list[i]==answer) { number++; } else { number--; } } System.out.println("水王的ID为:" + answer); } }
4.实现截图