软件工程课堂作业寻找水王

public class com {
    
    public static int find(int[] array) {
        int length=array.length;//数组的长度
        int result=0;//查询需要的结果
        int time=0;//出现的次数
        
        for(int i=0;i<length;i++) {
            if(time==0) {
                result=array[i];
                time=1;
            }
            else {
                if(result==array[i]) {
                    time++;
                }
                else {
                    --time;
                }
            }
        }
        return result;
    }
    
    public static void main(String[] args) {
        int str[]= {6,6,6,2,3,4,7,3,4,6,6,6};
        System.out.println("水王是:"+find(str));
    }
    
}

这是很久之前微软的一道面试题

基本思路是,

水王发帖过半,所以在去掉一半的数据不同后,剩下的就只有水王了

原文地址:https://www.cnblogs.com/520520520zl/p/12984202.html