請教一個切片遞迴賦值的問題
一個全排列的問題,我按下面的程式碼執行存進去的是最後遞迴出來的陣列,求怎麼解決啊。
package main
import "fmt"
func swap(nums []int, i, j int) {
temp := nums[i]
nums[i] = nums[j]
nums[j] = temp
}
func permute(nums []int) [][]int {
length := len(nums) - 1
var res [][]int
dfs1(nums, 0, length, &res)
fmt.Println(res)
return res
}
func dfs1(nums []int, cur, end int, res *[][]int) {
if cur == end {
fmt.Println(nums)
*res = append(*res, nums)
fmt.Println("nums", res)
return
} else {
for i := cur; i <= end; i++ {
swap(nums, cur, i)
dfs1(nums, cur+1, end, res)
swap(nums, cur, i)
}
}
}
func main() {
nums := []int{4, 5, 6}
permute(nums)
}
[4 5 6] nums &[[4 5 6]] [4 6 5] nums &[[4 6 5] [4 6 5]] [5 4 6] nums &[[5 4 6] [5 4 6] [5 4 6]] [5 6 4] nums &[[5 6 4] [5 6 4] [5 6 4] [5 6 4]] [6 5 4] nums &[[6 5 4] [6 5 4] [6 5 4] [6 5 4] [6 5 4]] [6 4 5] nums &[[6 4 5] [6 4 5] [6 4 5] [6 4 5] [6 4 5] [6 4 5]] [[4 5 6] [4 5 6] [4 5 6] [4 5 6] [4 5 6] [4 5 6]]
更多原創文章乾貨分享,請關注公眾號
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- 請教一個go切片引用的問題Go
- 請教一個JSF引數傳遞的問題JS
- 請教一個在Tiles中引數傳遞的問題
- 請教一個cookies的問題Cookie
- 請教一個executeBatch()的問題BAT
- 請教一個JVM問題JVM
- 請教高手一個問題!
- 請教一個struct tag的問題Struct
- 請教一個ADAPTER的問題APT
- 請教大家一個JAVA的問題Java
- 請教一個WEB START的問題!Web
- 請教一個rmi分佈運算或者傳遞物件的問題!物件
- 列表切片賦值給另一個變數賦值變數
- 請教各位高手一個問題
- 請教一個物件設計的問題物件
- 請教一個演算法問題演算法
- 請教一個observer設計問題。Server
- java值物件的傳輸問題請教Java物件
- 請教一個多執行緒的問題執行緒
- 請教Banq一個Ruby架構的問題架構
- 請教各位大俠一個JavaBean的問題JavaBean
- 請教一個DAO設計模式的問題設計模式
- 請教一個檔案上傳的問題
- 請教一個timeout的實現問題
- 請教一個傳遞引數的時候中文顯示亂碼的問題。
- 一個關於值傳遞呼叫的問題
- 請教一個 python 包安裝的問題Python
- 請教banq老師一個repository的問題
- 請教一個關於執行緒的問題執行緒
- 初學,一個關於RMI的問題請教!!!
- 請教一個資料表關係的問題
- 【求助】請教一個初學java的小問題Java
- 請教高手一個系統設計的問題
- 請教一個jbuilder7中的中文問題UI
- 請教一個關於工廠模式的問題模式
- 請教大家一個財務軟體的問題
- 請教個問題執行 httprunner 遇到的問題HTTP
- 請教個mysql叢集的問題MySql