zoukankan      html  css  js  c++  java
  • 课堂作业:找“水王”

          三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。 如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

    1.设计思想:由于“水王”发帖数目超过帖子总数一半,所以每次删除两个不同的ID,直到剩下的所有ID都相同,那么最后剩下的就是水王的ID。

    2.代码:

    package shw;
    import java.util.Scanner;
    
    public class shw {
        public static void main(String[] args) {
            Scanner sc =new Scanner(System.in);
            System.out.println("请输入ID的个数:");
            int n=sc.nextInt();
            int p[]=new int[n];
            System.out.println("请输入ID:");
            for(int i=0;i<n;i++)
            {
                p[i]=sc.nextInt();
            }
            int ID=find(p,n);
            System.out.println("水王是"+ID);
        }
        public static int find(int p[], int n)
        {
            int a=0,b=0;
            for (int i = 0; i < n; ++i)
            {
                if(a==0||b==0)
                {
                    a=p[i];
                    b++;
                }
                else if(p[i]==a)
                    b++;
                else
                    b--;                
              }
             return a;
        }
    }

    3.实验结果截图:

  • 相关阅读:
    Mybatis学习笔记
    Java——设计模式
    Java——多线程
    Java——集合
    DAO层、Service层、Controller层、View层
    Mybatis整合spring
    Spring中的DI和IOC
    事务
    Xml实现AOP
    2018.3.10考试的试题解析
  • 原文地址:https://www.cnblogs.com/sunqw/p/6727897.html
Copyright © 2011-2022 走看看