• 课堂作业之寻找水王


    一、题目

      有一个大“水王”,他不仅喜欢发贴,还会回复其他ID发的每个帖子。该“水王”发帖数目超过了帖子总数的一半。如果有当前论坛上所有帖子(包括回帖)的列表,其中帖子作者的ID也在表中,你能快速找出这个传说中的水王吗?

    二、设计思想

      “水王”最不怕删帖,因为他的帖子数量超过总数的一半,那么我们可以从第二个依次与上一个比较,相同的ID留下,不同的ID消除。

    三、代码

    package demo;
    import java.util.Scanner;
    public class FindActive {
        public static void main(String []args){
            Scanner sc=new Scanner(System.in);
            System.out.print("请输入ID的个数:");
            int num=sc.nextInt();
            //保证输入的数合法
            while(true){
                if(num<=0){
                    System.out.print("输入的不合法!请重新输入:");
                    num=sc.nextInt();
                }
                else break;
            }
            int [] arr=new int[num];//将ID号存放在数组中
            int i,ii;
            //输入所有ID号
            for(i=0;i<num;i++){
                ii=i+1;
                System.out.print("请输入第"+ii+"个ID号:");
                arr[i]=sc.nextInt();
            }
            int king=findTheMostActive(arr,num);
            System.out.println("水王的ID为"+king);
        }
        public static int findTheMostActive(int array[],int len){
            int king=array[0];
            int t=1;
            for(int i=1;i<len;i++){
                if(king!=array[i]){
                    t=t-1;
                    if(t<=0){
                        king=array[i+1];
                        t=1;
                        i++;
                    }
                }
                else{
                    king=array[i];
                    t=t+1;
                }
            }
            return king;
        }
    }

    四、结果

  • 相关阅读:
    Hadoop1.2.0开发笔记(四)
    Datalist、GridView、Repeater 的区别
    oAuth
    浏览器沙箱技术
    28个HTML5特征、窍门和技术
    在Windows 8 JavaScript Metro Application 开发
    CSS浮动属性Float详解
    Windows 8为什么会是开发人员的2012
    CSS实现截取隐藏文字
    国外可绑定域名的免费空间(精选)
  • 原文地址:https://www.cnblogs.com/hjy415/p/6713253.html
Copyright © 2020-2023  润新知