课堂练习四

设计思想:

      输入id总数,输入id;假设第一个id是水王,若水王id与下一个id不同,则消除不同的,设j等于0减一;若id相同,则j加一;最后剩下的id 为水王。

源代码:

//求论坛上的水王
import java.util.Scanner;
public class test4 {
  public static void main(String[] args){
     Scanner in=new Scanner(System.in);
     int N;
     System.out.println("请输入帖子的总数:");
     N=in.nextInt();
     String list[]=new String [N];
     int i,j=0;
     System.out.println("请输入ID:");
     for(i=0;i<N;i++)
     {
         list[i]=in.next();
     }
     String king=list[0];
     //设水王是第一个ID
     for(i=0;i<N-1;i++)
     {
         //增加相同的,消除不同的,最后剩下的是水王
         if(king.equals(list[i+1]))
         {
            j++;
         }
         else
            j--;
         if(j<0)
         {
             king=list[i+1];
         }
     }
     System.out.println("水王是:"+king);
     in.close();
  }
}

截图:

个人总结:

      这次的课堂练习其实并不困难,主要是我们要理清思路,用排序算和也是可以的,但是太过于繁琐;两两消除法可以更简单地算出结果。

原文地址:https://www.cnblogs.com/yyting/p/5510385.html