由于水王的ID出现次数已经超过了总ID次数的一半,所以每两个相邻的不同ID相消,最后剩余的一定是水王的ID
package main; import java.util.Scanner; public class zhuti { static Scanner in=new Scanner(System.in); static int id = 0; static int count=0; public static void main (String[] args) { int n; int[] arr=new int[10]; System.out.println("请输入总的帖子数:"); n=in.nextInt(); System.out.println("请输入每个水军的ID:"); for(int i=0;i<n;i++) { arr[i]=in.nextInt(); } findid(arr,n); System.out.println("水王的ID是:"+id); } static void findid(int arr[],int n) { for (int i=0;i<n;i++) { if (count==0) { count++; id=arr[i]; } else { if(id==arr[i]) count++; else count--; } } } }
问题只要有了恰当的分解和方法,就会变得十分简单。