我正在制作一个简单的质因数函数,它可以放置一个[][]int类似于
prime_factors_mult(315) => [[3,2],[5,1],[7,1]]
但是我得到的结果不是这个结果,而是[[7,1][7,1][7,1][7,1]]后来减少到一个空的切片,因为它们会重复自己。我试着一步一步地看它,它会将所有值更改为最后一个追加。我应该怎么做才能避免这种情况?
func prime_factors_mult(x []int)(y [][]int){// Problem 36
in :=[]int{0,0}
var k [][]int
for _,item := range x{
tok := 0
for i:=0;i<len(x);i++{
if item == x[i]{
tok++
}
}
in[0]=item
in[1]=tok
k=append(k,in)
}
for _,item := range k{
for i:=0;i<len(k);i++{
if item[0] != k[i][0]{
y = append(y,item)
}
}
}
return
}
有只小跳蛙
呼如林
相关分类