1 回答

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
問(wèn)題在于,sets類型的元素引用同一個(gè)切片。
您最好為 的每個(gè)元素創(chuàng)建一個(gè)新切片sets。追加不會(huì)創(chuàng)建新切片。
這是一個(gè)修復(fù)程序,它復(fù)制先前的向量sets而不是簡(jiǎn)單地?cái)U(kuò)展它。
package src
func Subsets(nums []int) [][]int {
var sets = make([][]int, 0)
var t = make([]int, 0)
sets = append(sets, t)
for i := 0; i < len(nums); i++ {
for _, v := range sets {
t = append([]int(nil), v...) // t is copy of v
t = append(t, nums[i])
sets = append(sets, t)
}
}
return sets
}
在這里測(cè)試: https: //play.golang.org/p/OZ9nN_t3w9D
- 1 回答
- 0 關(guān)注
- 213 瀏覽
添加回答
舉報(bào)