找水王2
一:程序設計背景
? ? 隨著論壇的發展,管理員發現水王沒有了,但是統計結果表明,有三個發帖很多的ID。據統計他們的發帖數量超過了1/4,你能從發帖列表中快速找到他們嗎?
?二:設計思想
? ??此問題跟找水王1類似,只不過從1:1的消除變成了3:1的消除,其他的count加法都類似。
三:代碼實現
//尋找水王2 //信1405-1班 20142966 黃偉鵬 import java.util.Scanner; public class find2 {public static void main(String[] args) {int i,Number;System.out.println("請輸入帖子總數:");Scanner in=new Scanner(System.in);Number=in.nextInt();int list[]=new int[Number]; //定義一個長度為帖子長度的數組int count[]=new int[3]; //定義一個分別對三個水王重復值進行計數的數組int middle[]=new int[3]; //定義一個分別對三個水王進行賦值的中間數組System.out.println("請輸入帖子的ID");Scanner t=new Scanner(System.in);for(i=0;i<Number;i++) //將帖子ID賦值給數組 {list[i]=t.nextInt();}for(i=0;i<3;i++) //將計數數組初始化 {count[i]=0;}for(i=0;i<Number;i++){if(middle[0]==list[i]){count[0]++;}else if(middle[1]==list[i]){count[1]++;}else if(middle[2]==list[i]){count[2]++;}else if(count[0]==0){count[0]++;middle[0]=list[i];}else if(count[1]==0){count[1]++;middle[1]=list[i];}else if(count[2]==0){count[2]++;middle[2]=list[i];}else{count[0]--;count[1]--;count[2]--;}}System.out.println("第一個水王的ID是 : "+middle[0]); System.out.println("第二個水王的ID是 : "+middle[1]); System.out.println("第三個水王的ID是 : "+middle[2]); }}四:實現截圖
? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
五:個人總結
? ?此題有數種方法可以實現,但題中要求快速找到即算法簡便,只要將帖子數最多的ID找到即可。
?
轉載于:https://www.cnblogs.com/xiaoabu/p/5534728.html
總結
- 上一篇: CSS---网络编程
- 下一篇: 前端资源链接收藏