• 寻找水龙王


    设计思想:

          由”该“水王”发帖数目超过了帖子数目的一半”可以知道当用相邻两个ID不同时则消去的方法实现时,水龙王ID一定不会被全部消掉,也就是水龙王总数不会减为0;用数组longID[]记录所有ID,将第一个假设为龙王,与第二个ID比较,若相同,龙王ID总数加一,否则减一;直到减为0,则更换龙王ID,一直循环,直到结束。

    代码实现:

        import java.util.Scanner;

    public class Longwang {

        public static void main(String []args){

           Scanner reader=new Scanner(System.in);

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

           int sum=reader.nextInt();

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

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

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

           {

              ID[i]=reader.nextInt();

           }

           int longID=ID[0];int j=1;  //假设第一个ID为水龙王ID j为记录龙王ID总数

           for(int i=1;i<sum;i++)  

           {

              if(longID!=ID[i])  //龙王ID与后一个ID相比较,如不等则龙王ID总数减一

              {

                 j=j-1;

                 if(j<=0)   //龙王ID总数为0时,更换龙王ID,,并与后一个ID相比较

                 {

                    longID=ID[i+1];

                    j=1;

                    i++;

                 }

              }

              else     //龙王ID与下一个ID相等时 龙王ID总数加一

              {

                 longID=ID[i];

                 j=j+1;

              }

           }

           System.out.println("水龙王的ID为:"+longID);

        }

    }

     

    实现截图:

       

    个人总结:

        在编程前要尽量寻找简便的方法,先想好逻辑结构,再编程实现。

  • 相关阅读:
    SQL:分析函数、排名函数、聚合函数配合窗口函数 OVER 的用法
    SQL:MySQL 中各子句的执行逻辑过程
    SQL:CASE 表达式应用总结
    SQL:BLOB 和 TEXT
    SQL:char 和 varchar、binary 和 varbinary、二进制字符串、严格模式、汉字编码方式
    大数据:数据质量
    大数据:存储和成本管理
    大数据:计算管理
    jQuery.validate.js笔记
    Vistual Studio 条件编辑应用
  • 原文地址:https://www.cnblogs.com/jinpeigang/p/5502283.html
Copyright © 2020-2023  润新知