设计思想:
跟上次实验类似,也是利用相消的思想,不同的是这次是先确定三个ID,他们之间不进行相消,最后剩下的三个ID即为三个小水王;
代码:
package text; import java.util.Scanner; public class text_y { 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; System.out.println("请输入ID:"); for(i=0;i<N;i++) { list[i]=in.next(); } int j[]=new int[3];//利用J为每个水王的便利进行标记 j[0]=j[1]=j[2]=0; String ID[]=new String[3];//设定单个水王ID for(i=0;i<N-1;i++) { if(j[0]==0)//当计数器为0时,重新赋予水王ID { j[0]++; ID[0]=list[i]; } else if(j[1]==0) { j[1]++; ID[1]=list[i]; } else if(j[2]==0) { j[2]++; ID[2]=list[i]; } else if(list[i].equals(ID[0]))//相同ID时计数器增加 { j[0]++; } else if(list[i].equals(ID[1])) { j[1]++; } else if(list[i].equals(ID[2])) { j[2]++; } else//不同ID时因两两相消计数器减小 { j[0]--; j[1]--; j[2]--; } } System.out.println("三个水王分别是是:"+ID[0]+" "+ID[1]+" "+ID[2]); in.close(); } }
结果截图:
个人总结:
因为设计思想跟上次类似,所以理好思路后还是很好做的。
时间: 2024-11-09 12:27:46