找水王

三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。

如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

设计思想:最主要就是“水王”的发帖数目是总数目的一半以上。

将此题转化为数组,将数组第一个付给max,开始逐步便历,判断max值是否与a【i】相等若想等则基数+1,不等则-1,若基数小于0,则重新赋值为1,以此往返。便可以找出水王。

import java.util.Scanner;

public class Find {
    public static int Find(int a[],int n){
        int max=a[0];
        int number=1;
        for(int i=0;i<n;i++) {
            if(number==0) {
                max=a[i]; 
                number++;
            }
            else {
                if(max==a[i]) {
                    number++;
                }
                else {
                    number--;
                }
            }
            
            
        }
        return max;
        }
  public static void main(String[] args) {
      System.out.println("请输入数组的个数");
    Scanner sc=new Scanner(System.in);
    int n=sc. nextInt();
    System.out.println("请输入数组");
    int a[]=new int[n];
    for (int i=0;i<n;i++)
     a[i]=sc.nextInt();
     System.out.println(Find(a,n));
   }
}
原文地址:https://www.cnblogs.com/1061321925wu/p/11030934.html