课堂练习-找水王
題目:找水王
設計思想:
假設第一個ID就是水王,用king記錄,次數用times記錄,比對下一個ID如果相同則使times++,否則就--;如果times=0的話就把下一位定為水王,依次進行下去,最后times大于0的那個ID肯定是水王,因為出現次數大于一半。
代碼實現:
package test1;public class ForumKing {public static void main(String[] args) {int ID[]={1,1,4,1,1,8,1,7,5,1};int times,king = ID[0];for(int i=times=0;i<10;i++){if(times==0){king=ID[i];times=1;}else{if(ID[i]==king)times++;elsetimes--;}}System.out.println("水王的ID:"+king);}}實現截圖:
個人總結:
一看到題目時總是感覺無從下手,但是細想的話就感覺這個大于一半還是很有玄機的,題眼就在這里,感覺這個算法和相消的算法很相似,但是暫時只能想到這么多了。
轉載于:https://www.cnblogs.com/kt97458/p/5512958.html
總結
- 上一篇: HTML中常用字符实体
- 下一篇: 代码:遍历