• 找水王


    找到一个发帖数超过帖子数目一半的用户“水王”

    设计思想:

    二分之一的思想,因为发帖数超过一半,所以按顺序走ID,把前后不同的两个ID都消除,name剩下的就是“水王”的ID

    因为这样想:如果帖子的顺序是:水王,他人,水王,他人....这样一次水王一次他人

    那么因为水王超过了一半,所以他人的早晚会被水王消耗完,那么剩下的ID(>=1个)就全是水王的

    OK,思路有了,下面是代码:

    sw.java

    package lianxi1;
    import java.util.*;
    public class sw {
         public static void main(String[] args) {
            Scanner sca=new Scanner(System.in);
            System.out.println("输入帖子总数");
            int count=sca.nextInt();
            int a[]=new int[count];
           
            int i,j=1,sw;//j为某个ID出现的次数,假设为sw(水王ID)出现的次数
            System.out.println("输入帖子ID");
            for(i=0;i<count;i++)
            {
                a[i]=sca.nextInt();
            }
            sw=a[0];//假设第一个数为水王ID
            for(i=1;i<count;i++)
            {
                if(sw!=a[i])
                {
                    j=j-1;
                    if(j<=0)    //如果j<=0,则表示sw不是水王ID。因为水王发帖数大于一半,无论怎么抵消,都不会小于等于0
                    {
                        sw=a[i+1];    //所有要换其他ID为水王的ID
                        j=1;        //重新定义水王ID出现次数
                        i++;
                    }
                }
                else
                {
                    sw=a[i];
                    j=j+1;//统计水王帖子数
                }
            }
            System.out.println("水王ID是 "+sw);
        }
    }
    View Code

    截图

  • 相关阅读:
    玩家移动
    人物上线(激活玩家之后)
    map 玩家上线
    无锁的环形队列
    随笔
    std::bind
    如何查找文件中的schema约束
    myeclipse便捷导包方式
    21 求1+2!+3!+...+20!的和
    20 求出这个数列的前 20 项之和
  • 原文地址:https://www.cnblogs.com/mitang0-0/p/11061798.html
Copyright © 2020-2023  润新知