我試圖找出遞歸的[string]int
地圖圍棋最好的一段路要走。我正在製作一個遊戲,其中涉及多個國家,並最終由兩隊組成隊伍。如何遞歸遍歷地圖使用不同的數據結構
的目標是前兩個國家的最低「分數」到自己組的兩個匹配,並將其添加回集合賦予新地圖這些國家的分數的總價值。
然後遞歸這樣做,所有組,其中一組,最後一個總價值結束了。
例如,如果您有:
score := map[string]int{
"Canada": 7,
"US": 2,
"Germany": 3,
"Korea": 4,
}
組1 = {[US:2] [Germany:3]}
共5
1組的現在會放回到初始集合與5「分數」,因爲它需要兩個最低的分數。現在,我們將有:
score := map[string]int{
"Canada": 7,
"Korea": 4,
group1: `US:2 Germany:3` with a total of 5
}
如果這是現在在集合中的最低分,下一次迭代是:
組2 = {[Korea:4] [group1:5]}
score := map[string]int{
"Canada": 7,
group2: `Korea:4 group1:5` with a total of 9
}
依此類推,直到你留下一個..我認爲基本結構應該是這樣的。不過,由於數據結構現在包含[string]int
地圖以及此新地圖,因此我不確定正確的方法。
我意識到這是沒有這樣一個普通的問題,但可能的接口被用於此?我對Go很新,所以建議會有幫助。
這裏是爲了進一步說明我的意思的例子: https://play.golang.org/p/cnkTc0HBY4
這不是一個切片;那是一張地圖。 – md2perpe
你寫的「我們的目標是前三個國家最低的‘分數’比賽拖入自己的三人小組」,但據我可以看到組中包含了兩個國家。 – md2perpe
樹形結構不會比地圖更合適嗎? – md2perpe