找水王问题

由于水王的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--;
                     }   
        }   
    }   
}

 

问题只要有了恰当的分解和方法,就会变得十分简单。

猜你喜欢

转载自www.cnblogs.com/yuanxiaochou/p/10960668.html