课堂练习之谁是水王(一)
生活随笔
收集整理的這篇文章主要介紹了
课堂练习之谁是水王(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
設計思想:
可以遍歷ID表,兩兩相鄰的ID進行比較,若不同則刪掉,那么在剩余的ID表中水王的ID號仍然超過總數的一半,不斷重復這個過程,把列表中ID總數降低,最后剩下的肯定是水王的ID。
代碼實現:
//根據一張ID賬戶列表,找出水王的ID號碼(水王發帖回帖數目超過1/2) //范亞雷 2016.05.20import javax.swing.JOptionPane;public class KingWater {public static void main(String[] args) {String inputNumber = JOptionPane.showInputDialog("請輸入要測試的ID號碼的數量:");int Number=Integer.parseInt(inputNumber);String[] ID=new String[Number];//inputfor(int i=0;i<Number;i++){String inputID= JOptionPane.showInputDialog("請輸入列表中第"+(i+1)+"個ID號碼:");ID[i]=inputID;}String WaterKing=new String();int sentry=0; for(int i=0;i<Number;i++){ if(sentry == 0){ WaterKing = ID[i]; sentry = 1; } else{ if(WaterKing.equals(ID[i])) sentry ++; else sentry --; } }//outputJOptionPane.showMessageDialog(null, WaterKing, "水王的ID是:",JOptionPane.PLAIN_MESSAGE);} }
?
實現截圖:
個人總結:
這次實驗題目有個條件就是水王發帖的ID號超過所以ID號一半以上,因此這就是這題的突破點。對于時間復雜度,好的設計思路可以大大降低時間復雜度,比如這題就可以將時間復雜度降低到O(N)。
轉載于:https://www.cnblogs.com/fan-xiaofan/p/5513019.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的课堂练习之谁是水王(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两种方法设置disabled属性
- 下一篇: Bootstrap学习笔记(三) 网格系