题解 | #没有重复项数字的全排列#
没有重复项数字的全排列
https://www.nowcoder.com/practice/4bcf3081067a4d028f95acee3ddcd2b1
利用内置函数减少代码量
- 缺点是目前不支持slices包的函数
func permute(num []int) [][]int {
// write code here
var dfs func(arr []int)
var ans [][]int
l := len(num)
dfs = func(arr []int) {
if len(arr) == l {
ans = append(ans, arr)
}
for i := 0; i < len(num); i++ {
if slices.Contains(arr, num[i]) {
continue
}
dfs(append(arr, num[i]))
}
}
dfs([]int{})
return ans
}
