• 课堂练习——找水王


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

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

      代码:

    package main;
    import java.util.Scanner;
    
    public class shuiwang {
        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);
    
        }
    }

      截图:

      

      总结:

      一切都要有新想法。

  • 相关阅读:
    sql命令附加数据库
    数据解析0102
    xml file parser
    c#字定义异常处理类
    simple workflow implement
    High Performance Multithreaded Work Item / Event Scheduling Engine
    字符定位
    C#实现的不重复随机数序列生成算法
    Thread并发数控制
    通过Assembly来创建Type Instance
  • 原文地址:https://www.cnblogs.com/baiyue/p/6748980.html
Copyright © 2020-2023  润新知