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

没有重复项数字的全排列

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]
	}
}

全部评论

相关推荐

昨天 15:23
门头沟学院 Java
难道你们背八股都不觉得累?现在每天背八股背的我想吐
想去大厂的土豆子:累不累都是对比出来的,八股可比高考、考研轻松多了
点赞 评论 收藏
分享
强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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