GoLang刷题之leetcode

题目47:全排列Ⅱ

题目描述:

给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。

题解:

func permuteUnique(nums []int) [][]int {
   
    res, r:= [][]int{
   }, []int{
   }    
    used := make([]bool, len(nums))        
    if len(nums) == 1{
   
        res = append(res, nums)
    }else{
   
        sort.Ints(nums)
        backTracking(&res, r, 0, nums, used)
    }
    return res
}
func backTracking(res *[][]int, r []int, index int, nums []int, used []bool){
   
    if index == len(nums){
   
        tmp := make([]int, len(r))
        copy(tmp, r)
        *res = append(*res, tmp)
    }
    for i:=0;i<len(nums);i++{
   
        if used[i] || (i>0 && nums[i]==nums[i-1] && !used[i-1]){
    //存在相同的数字但前一个数字并未使用过,应该先使用前一个数组
            continue
        }
        used[i] = true
        r = append(r, nums[i])
        backTracking(res, r, index+1, nums, used)
        used[i] = false
        r = r[:len(r)-1]
    }
}

相关推荐

  1. GoLangleetcode

    2024-01-22 12:38:03       56 阅读
  2. GoLangleetcode

    2024-01-22 12:38:03       62 阅读
  3. GoLangleetcode

    2024-01-22 12:38:03       56 阅读
  4. GoLangleetcode

    2024-01-22 12:38:03       60 阅读
  5. GoLangleetcode

    2024-01-22 12:38:03       50 阅读
  6. GoLangleetcode

    2024-01-22 12:38:03       56 阅读
  7. GoLangleetcode

    2024-01-22 12:38:03       52 阅读
  8. GoLangleetcode

    2024-01-22 12:38:03       48 阅读
  9. GoLangleetcode

    2024-01-22 12:38:03       61 阅读
  10. GoLangleetcode

    2024-01-22 12:38:03       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-22 12:38:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-22 12:38:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-22 12:38:03       82 阅读
  4. Python语言-面向对象

    2024-01-22 12:38:03       91 阅读

热门阅读

  1. .NET MES桌面程序卡死分析

    2024-01-22 12:38:03       47 阅读
  2. C语言大师(5)构造函数和析构函数

    2024-01-22 12:38:03       54 阅读
  3. 第十四届蓝桥杯省赛PythonA/C组------翻转

    2024-01-22 12:38:03       58 阅读
  4. NAT44-ED features及节点图

    2024-01-22 12:38:03       32 阅读
  5. HarmonyOs开发之——ArkTs基础知识介绍。

    2024-01-22 12:38:03       61 阅读
  6. 项目当中使用JPA、Hibernate、MyBatis中遇到的坑

    2024-01-22 12:38:03       54 阅读
  7. 4、机器学习的模型验证

    2024-01-22 12:38:03       58 阅读
  8. QTcpSocket 对象的可工作线程

    2024-01-22 12:38:03       45 阅读
  9. 前端开发 2: CSS

    2024-01-22 12:38:03       43 阅读