zoukankan      html  css  js  c++  java
  • 寻找“水王”

    题目:

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

    设计思想:

    有题目可以得出,该“水王”发帖数目超过了帖子数目的一半,因此比较两个相邻ID,如果ID不同,则将两个均删除;若两个ID相同,则保留(在编程时,应该注意帖子数奇偶之分),直到剩下的所有ID都相同,那么剩下的ID就是水王的ID。

    源代码:

    package test02;
    
    import java.util.Scanner;
    
    public class FindKing {
    
        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) {
            
            Scanner sc =new Scanner(System.in);
            System.out.println("请输入发帖总数:");
            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);
    
        }
    
    }

    运行截图:

  • 相关阅读:
    上下文切换
    NUMA的取舍与优化设置
    KVM CPU线程等学习记录
    openstack cpu pinning
    virt-install详解
    对KVM虚拟机进行cpu pinning配置的方法
    30 个 OpenStack 经典面试问题和解答
    OpenFace Docker 使用简介
    单链表、双链表及单链表的逆序
    Ubuntu14.04.1安装搜狗拼音输入法
  • 原文地址:https://www.cnblogs.com/Qi77/p/11061308.html
Copyright © 2011-2022 走看看