[問題] 一個檢查array內容的功能

作者: Zoxge (Zoxge)   2017-04-19 20:41:43
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
GCC
問題(Question):
有一個一維array,裡面隨機存了20個1~500之間的數字
現在要依序print出1~500之間的數字,但不包含那個一維array裡面的內容
請問除了下面網址內的方法(檢查array中每個index存放的值)之外
有什麼更快的方法能夠解決這個問題呢?
謝謝
程式碼(Code):(請善用置底文網頁, 記得排版)
https://ideone.com/1KIzIo
作者: Sidney0503 (Sidney0503)   2017-04-19 21:17:00
Prob_Solve
作者: pttworld (批踢踢世界)   2017-04-19 21:19:00
開索引500的標記陣列,亂數產生標記不輸出。
作者: Qbsuran (Qbsuran)   2017-04-19 22:00:00
排序後 一切都好做
作者: pnpncat (meow)   2017-04-19 23:31:00
先對那20個數字排序 接下來你應該就會了如果要用空間換時間的話 就是像上面講的那樣開一個陣列存1~500這些數字 然後對那二十個數字跑for迴圈 將這些位置的陣列內容改成-1之類的 接下來就看到-1的都不輸出也有很多其他方式 例如用500個bit標記要不要輸出之類反正就看你的應用需求去做取捨
作者: longlongint (華哥爾)   2017-04-20 08:35:00
hash(?可是才20個元素 liner search才是王者先排序然後把 index 放到第一個元素上面吧
作者: Hazukashiine (私は幸せです)   2017-04-20 12:44:00
不要排序 時間複雜度太高 空間上用位元陣列操作
作者: hunandy14 (Charlott.HonG)   2017-04-27 13:07:00
動態刪減找一個刪一個,不過只有20個排序應該最省排序有stl可以用 複雜度logn

Links booklink

Contact Us: admin [ a t ] ucptt.com