题解 | #没有重复项数字的全排列#

没有重复项数字的全排列

http://www.nowcoder.com/practice/4bcf3081067a4d028f95acee3ddcd2b1

package main

/**
 *
 * @param num int整型一维数组
 * @return int整型二维数组
 */
var res [][]int

func permute(nums []int) [][]int {
	res = [][]int{}
	backtrack(nums, 0)
	return res
}

func backtrack(nums []int, idx int) {
	if idx == len(nums) {
		temp := make([]int, len(nums))
		copy(temp, nums)
		res = append(res, temp)
		return
	}
	for i := idx; i < len(nums); i++ {
		nums[i], nums[idx] = nums[idx], nums[i]
		backtrack(nums, idx+1)
		nums[i], nums[idx] = nums[idx], nums[i]
	}
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 14:00
点赞 评论 收藏
分享
求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
07-01 23:23
郑州大学 Java
否极泰来来来来:牛客迟早有高三的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 17:00
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务