zoukankan      html  css  js  c++  java
  • 寻找水龙王2

    设计思想:

         既然三个水龙王每个的发帖数大于四分之一,那就四个帖子一组,假设前三个ID为水龙王,两个数组,一个记录三个水龙王ID,一个记录三个水龙王各自ID数目,将每个ID与假设龙王的ID相比较,如相同,则在相同的龙王ID总数加一,若与三个假设龙王都不相同,则假设的三个龙王各自总数减一,直到减为0,更换龙王ID。

    代码实现:    

    import java.util.Scanner;

    public class Longwang2 {

      public static void main(String []args){

         Scanner reader=new Scanner(System.in);

         System.out.println("请输入ID总数:");

         int sumID=reader.nextInt();

         int ID[]=new int[sumID];//存储所有ID的数组ID[]

         System.out.println("请依次输入ID:");

         for(int i=0;i<sumID;i++)

         {

            ID[i]=reader.nextInt();

         }

         int LongWang[]=new int[3]; //数组LongWang[]储存三个龙王ID

         int countLong[]=new int[3];//数组countLong[]存储三个龙王ID各自总数

         countLong[0]=countLong[1]=countLong[2]=0;//初始化龙王ID各自总数为0

         for(int i=0;i<sumID;i++) 

         {

            if(countLong[0]==0)  //假设前三个帖子ID是龙王

            {

                LongWang[0]=ID[i];

               countLong[0]++;

            }

            else if(countLong[1]==0)

            {

               LongWang[1]=ID[i];

               countLong[1]++;

            }

            else if(countLong[2]==0)

            {

               LongWang[2]=ID[i];

               countLong[2]++;

            }

            else if(ID[i]==LongWang[0]) //将帖子ID与龙王ID相比较,若相同,则龙王计数器加一

            {

               countLong[0]++;

            }

            else if(ID[i]==LongWang[1])

            {

               countLong[1]++;

            }

            else if(ID[i]==LongWang[2])

            {

               countLong[2]++;

            }

            else   //如果与三个龙王的ID都不同的话,则三个计数器都自减一

            {

               countLong[0]--;

               countLong[1]--;

               countLong[2]--;

            }

         }

         System.out.println("三个龙王ID分别是:");

         for(int i=0;i<3;i++)

         {

            System.out.print(LongWang[i]+" ");

         }

      }

    }

    实现截图:

     

    个人总结:

          编程要学会举一反三,有时类似的问题设计思想是不变的。

  • 相关阅读:
    VS2015 调试中断点突然失效的解决办法、VS调试时关闭调试让浏览器继续保留页面
    Postman调用WebService,包括头验证部分
    C# 正则表达式大全
    Webservice超时问题
    C# DateTime的 ParseExact和 TryParseExact 使用说明
    4、QT分析之调试跟踪系统
    5、QT分析之网络编程
    QIODevice (Qt中所有 I/O devices 的基类,QFile,QBuffer,QTcpSocket等)
    Qt 菜鸟的坑 QAbstractSocket::isValid()
    qt之QAbstractSocket
  • 原文地址:https://www.cnblogs.com/jinpeigang/p/5520927.html
Copyright © 2011-2022 走看看