zoukankan      html  css  js  c++  java
  • 找水龙续

    设计思想:

      定义数组储存ID。将每个水王ID都与其它ID进行抵消。首先先将前三个不同水军ID设为水王ID,开始抵消计数,“水王”中抵消后数量剩余为0的即被淘汰,用一个最新的水军ID继续进行抵消,最后剩下的即为水王ID。

    代码实现:

    import java.util.Scanner;
    
    public class DragonKing {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int length;//帖子数量
            int list[]={0,0,0};//计数
            int IDofKing[]={0,0,0};//储存水王地址     
            System.out.println("请输入总帖子数量:");
            Scanner sc=new Scanner(System.in);
            length=sc.nextInt();
            int ID[]=new int[length];//储存所有的id地址
            System.out.println("请输入水帖子的ID");
            for(int j=0;j<length;j++)
                
            {
                ID[j]=sc.nextInt();
            }
            /*求解过程*/
            for(int i=0;i<length;i++)
            {
                if(list[0]==0&&ID[i]!=IDofKing[1]&&ID[i]!=IDofKing[2])
                {
                    list[0]=1;
                    IDofKing[0]=ID[i];
                }
                else if(list[1]==0 && ID[i]!=IDofKing[0] && ID[i]!=IDofKing[2])
                {
                    list[1]=1;
                    IDofKing[1]=ID[i];
                }
                else if(list[2]==0 && ID[i]!=IDofKing[0] && ID[i]!=IDofKing[1])
                {
                    list[2]=1;
                    IDofKing[2]=ID[i];
                }
                else if(ID[i]!=IDofKing[0] && ID[i]!=IDofKing[1] && ID[i]!=IDofKing[2])
                {
                    list[0]--;
                    list[1]--;
                    list[2]--;
                }
                else if(ID[i]==IDofKing[0])
                {
                    list[0]++;
                }
                else if(ID[i]==IDofKing[1])
                {
                    list[1]++;
                }
                else if(ID[i]==IDofKing[2])
                {
                    list[2]++;
                }      
            }
            System.out.println("三个水王ID为:"+IDofKing[0]+" "+IDofKing[1]+" "+IDofKing[2]);
        }
    }

    实现截图:

     

    个人总结:

      这次找水王与第一次的思想相同,都是通过相消。第一次水王发帖数超过一半,通过两两相消,知道最后剩下的哪一个ID就是水王,这次是找出三个水王,就是删除三个ID。

  • 相关阅读:
    十一.状态设计模式
    十. 享元设计模式
    Orcale(一)概念
    java类加载器
    spring中的事务管理机制
    spring中的annotation注解类配置
    countDownLatch和Semaphore用于多线程
    布隆过滤器
    mybatis-genator自动生成的mapper中模糊查询使用方法
    java中的异常
  • 原文地址:https://www.cnblogs.com/mengqimoli/p/5535499.html
Copyright © 2011-2022 走看看