题目要求:
论坛中有一个id评论过于频繁,其出现次数占到3/4,如今简单编程寻找此id。
设计思想:
既然大篇幅的出现,则可以考虑用删除的方法,首先将出现过的id存入在一个数组里,然后进行遍历,只要前后两个id不一样则进行删除。
通过这样的方法就可以找出回复次数最多的那个id了,即“水王”。
package zuoYe; import java.util.Scanner; /* * 寻找水王 */ public class ShuiWang2 { public static void main(String[] args) { int[] a = null;//存储帖子id Scanner sc = new Scanner(System.in); System.out.println("帖子总个数:"); int sum = sc.nextInt(); a = new int[sum]; System.out.println("输入每个帖子的作者:"); for(int i = 0;i < sum;i++) { a[i] = sc.nextInt(); } sc.close(); int n = 0; int nid = -1; for(int i = 0;i < a.length - 1;i++) { if(n == 0) { if(a[i] == a[i + 1]) { n = 2; nid = a[i]; } else { if((i + 1) == a.length - 1) { nid = a[a.length - 1]; } } i++; } else { if(nid == a[i]) { n++; } else { n--; } } } System.out.println("水王的ID : " + nid); } }