0
刪除重複的對象在基於棋盤遊戲DFS(深度優先搜索)算法,我設計用於分數的解決方案比較對象諸如排序Object.propertyOne一個對象列表,並通過在Object.propertyTwo同時
class Solution {
double score;
int currentPosition;
byte[] board;
}
而我們可以通過Comparator<Solution>
得分來快速排序List<Solution>
。
但給它一個進一步的嘗試,如果我們想控制深度搜索的內存使用情況,我們必須做重複刪除。
發生同一板和同一currentPosition等複製時,只留下得分最高的一個,移除其他。
那麼,Java中是否存在一些很好的算法,用於同時對對象的不同屬性進行重複刪除和評分排序?
但我們能做些什麼,如果一個'Solution'具有相同的hashCode,但更高的分數,添加到集合?當棋盤變大時,國際象棋會有更多的類型,準確的哈希比較也是一些痛苦。 – rufushuang
取決於你的應用程序邏輯,你想這被認爲是重複的嗎? –
具有相同電路板和currentPosition的解決方案是重複的。但是,如果重複,則應該添加更高分數的解決方案,並取代較低分數的解決方案。 – rufushuang