找水王续

设计思想:

      与上次的实验思路基本相同,假设每个NUM都有可能是水王,那么在遍历时这个水王就要被两两比较,相互抵消,可能自己的帖子数是会增加的,也可能是抵消的,帖子数要减少的, 只不过是这三个NUM同时与发帖NUM进行比较抵消,而且这三个NUM 是不会相互比较的。

源代码:

//求三个小水王

import java.util.Scanner;

public class test5 {

  public static vonum main(String[] args){

     Scanner in=new Scanner(System.in);

     int N;

        System.out.println("请输入帖子的总数:");

        N=in.nextInt();

        int list[]=new int [N];

        int i;

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

        for(i=0;i<N;i++)

     {

         list[i]=in.nextInt();

     }

        int nNUM[]=new int [3];

        nNUM[0]=nNUM[1]=nNUM[2]=0;

        int NUM[]=new int [3];

        NUM[0]=NUM[1]=NUM[2]=-1;

        for(i=0;i<N;i++)

        {

            if(nNUM[0]==0)

           {

               nNUM[0]++;

               NUM[0]=list[i];

           }

           else if(nNUM[1]==0)

          {

              nNUM[1]++;

              NUM[1]=list[i];

          }

           else if(nNUM[2]==0)

          {

              nNUM[2]++;

              NUM[2]=list[i];

          }

           else if(list[i]==NUM[0])

            {

                nNUM[0]++;

            }

            else if(list[i]==NUM[1])

            {

                nNUM[1]++;

            }

            else if(list[i]==NUM[2])

            {

                nNUM[2]++;

            }

            else

            {

                nNUM[0]--;

                nNUM[1]--;

                nNUM[2]--;

            }

        }

        System.out.println("三个小水王分别是:"+NUM[0]+" "+NUM[1]+" "+NUM[2]);

        in.close();

  }

}

原文地址:https://www.cnblogs.com/sanzangtdashi/p/5611626.html