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

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

    设计思想:每次删除两个不同的ID,直到剩下的所有ID都相同,那么剩下的就是水王的ID。

    代码:

    package shuiwang;
    import java.util.Scanner;
    //因为该“水王”发帖数目超过了帖子数目的一半,因此每次删除两个不同的ID,直到剩下的所有ID都相同,那么剩下的就是水王的ID。
    public class sw {
        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;
        }
    
    }

    结果截图:

  • 相关阅读:
    正则表达式--验证中国手机号
    PostgreSQ数据库安全连接请求问题
    golang时间正反格式化
    Git 分支管理和冲突解决
    golang交叉编译
    ps命令
    Redis应用场景
    SecureCRT for Mac
    Redis作者谈Redis应用场景
    redis 五种数据的应用场景
  • 原文地址:https://www.cnblogs.com/qkmn/p/6718150.html
Copyright © 2011-2022 走看看