zoukankan      html  css  js  c++  java
  • 课堂练习找水王

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

    因为该“水王”发帖数目超过了帖子数目的一半,因此每次删除两个不同的ID,直到剩下的所有ID都相同,那么剩下的就是水王的ID。

    代码

    package 水王;
    import java.util.Scanner;
    
    public class sw {
        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;
        }
    
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            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);
    
        }
    }

    截图

    个人总结

     思路很重要,要找到最佳解决方案

  • 相关阅读:
    半平面交模板
    poj2420(模拟退火大法好)
    hdu4266(三维凸包模板题)
    三维凸包模板
    三维空间直线最近点对hdu4741
    3维计算几何模板
    hdu1174(3维射线与圆是否相交)
    重点记忆
    UNICODE,GBK,UTF-8区别
    AJAX 基础
  • 原文地址:https://www.cnblogs.com/qianxia/p/5499739.html
Copyright © 2011-2022 走看看