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

没有重复项数字的全排列

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

package main

/** *

  • @param num int整型一维数组
  • @return int整型二维数组 */ var res [][]int func permute( nums []int ) [][]int { // write code here res = [][]int{} path := []int{} used := make([]bool, len(nums)) backpack(nums, path, used) return res } func backpack(nums []int, path []int, used []bool) { if len(path) == len(nums) { temp := make([]int, len(path)) copy(temp, path) res = append(res, temp) return } for i := 0; i < len(nums); i++ { if !used[i] { used[i] = true path = append(path, nums[i]) backpack(nums, path, used) path = path[:len(path) - 1] used[i] = false } } }
全部评论

相关推荐

10-21 14:02
已编辑
东南大学 Java
比亚迪 高级软件开发 30左右
点赞 评论 收藏
分享
头像
10-20 12:12
已编辑
莆田学院 产品经理
小小小投投投一一一下下下
胖乎乎的长颈鹿很坚定:最后一个是哪个企业
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务