寻找水王

Posted jinseliunian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了寻找水王相关的知识,希望对你有一定的参考价值。

package waterking;

import java.util.Scanner;
/*
 * 寻找水王
 */
public class king {
    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("输入每个帖子的id:");
        for(int i = 0;i < sum;i++)
        {
            a[i] = sc.nextInt();
        }
        sc.close();
        int id = 0;
        int c=0;


        
        for(int i=0;i<a.length;i++)
        {
            if(c==0) {
                id=a[i];
                c=1;
            }else if(c>0){
                if(a[i]==id) {
                    c=c+1;
                }else if(a[i]!=id){
                    c=c-1;
                }
            }
          
        }
        System.out.println("水王的ID为 : " + id);
        
    }

    
}

题目:在聊天数据中找到聊天次数超过一半的人的id,只读取一遍

思路:将所有人的id存入一个数组中,然后循环读取定义两个变量id(水王的id)和相同id出现的次数c,第一个和第二个进行比较如果相同c加一反之c减一,如果c为零了则将当前id的值换成下一个数组中的元素,最后得到id的值。

以上是关于寻找水王的主要内容,如果未能解决你的问题,请参考以下文章

寻找“水王”

寻找水王程序二

寻找水王2——寻找三个小水王

课堂作业之寻找水王

课堂作业值之寻找水王2

寻找水王2