看板 C_and_CPP 關於我們 聯絡資訊
開發平台(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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.228.65 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1492605708.A.BF1.html ※ 編輯: Zoxge (106.1.228.65), 04/19/2017 20:46:45
Sidney0503: Prob_Solve 04/19 21:17
pttworld: 開索引500的標記陣列,亂數產生標記不輸出。 04/19 21:19
Qbsuran: 排序後 一切都好做 04/19 22:00
pnpncat: 先對那20個數字排序 接下來你應該就會了 04/19 23:31
pnpncat: 如果要用空間換時間的話 就是像上面講的那樣開一個陣列 04/19 23:34
pnpncat: 存1~500這些數字 然後對那二十個數字跑for迴圈 將這些位 04/19 23:35
pnpncat: 置的陣列內容改成-1之類的 接下來就看到-1的都不輸出 04/19 23:36
pnpncat: 也有很多其他方式 例如用500個bit標記要不要輸出之類 04/19 23:41
pnpncat: 反正就看你的應用需求去做取捨 04/19 23:41
longlongint: hash(?可是才20個元素 liner search才是王者 04/20 08:35
longlongint: 先排序然後把 index 放到第一個元素上面吧 04/20 08:36
Hazukashiine: 不要排序 時間複雜度太高 空間上用位元陣列操作 04/20 12:44
hunandy14: 動態刪減找一個刪一個,不過只有20個排序應該最省 04/27 13:07
hunandy14: 排序有stl可以用 複雜度logn 04/27 13:08