看板 Prob_Solve 關於我們 聯絡資訊
這學期學校在學演算法 剛好教到divide-and-conquer 老師出了一個2D Ranking的題目 學校方面的是寫完了 畢竟測資自己訂 小弟之前也有寫Online Judge的習慣 想說找個judge測看看結果不會過 以下為程式碼 https://pastebin.com/XcKRH9z8 我的思考方式是先對全部的資料以x做大小排序 然後遞迴 剩一個就不動作 兩個的話互比y值再看要不要swap(以y排序) 大於兩個就拿右邊遞迴的比左邊遞迴的資料(左邊x值已經小於右邊所以只需比y) 然後做Ranking (可能解釋的不太好) 目前丟上去遇到: 我的答案:4040 正確答案:4038 想請問我的思考方向正確嗎 還是程式碼有哪裡沒考慮周到的嗎 謝謝>< -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.230.27 ※ 文章網址: https://www.ptt.cc/bbs/Prob_Solve/M.1539708624.A.053.html
FRAXIS: 題目到底是什麼?? 10/17 11:05
c910335: 乍看之下你的程式碼是常數很大的 O(n^2) 10/17 16:19
c910335: 兩個兩個比對硬做的 O(n^2) 比你寫的簡單而且更快 10/17 16:20
c910335: 思路大致上是可行的 10/17 16:24
c910335: 但是你有想過你的實作還是比較了每一對 甚至比較了更多次 10/17 16:25
c910335: 用這麼複雜的實作比暴力還慢有什麼意義嗎 10/17 16:25