自己建网站能赚钱吗,网站建设 psd,重庆网站哪里好,网站建设预算表样本题目:给定一个可包含重复数字的序列 nums #xff0c;按任意顺序 返回所有不重复的全排列。示例 1#xff1a;输入#xff1a;nums [1,1,2]输出#xff1a;[[1,1,2],[1,2,1],[2,1,1]]示例 2#xff1a;输入#xff1a;nums [1,2,3]输出#xff1a;[[1,2,3],[1,3,2],[2…题目:给定一个可包含重复数字的序列 nums 按任意顺序 返回所有不重复的全排列。示例 1输入nums [1,1,2]输出[[1,1,2],[1,2,1],[2,1,1]]示例 2输入nums [1,2,3]输出[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]提示1 nums.length 8-10 nums[i] 10java:public class Leetcode047 { public static ListListInteger res new ArrayList(); public static ListInteger path new ArrayList(); public static ListListInteger permute(int[] nums) { boolean[] used new boolean[nums.length]; Arrays.fill(used, false); Arrays.sort(nums); backtrack(nums, used); return res; } private static void backtrack(int[] nums, boolean[] used) { if (path.size() nums.length) { res.add(new ArrayList(path)); return; } for (int i 0; i nums.length; i) { if (i 0 nums[i] nums[i - 1] used[i - 1] false) { continue; } if (used[i] false) { used[i] true; path.add(nums[i]); backtrack(nums, used); path.remove(path.size() - 1); used[i] false; } } } public static void main(String[] args) { int[] nums {1, 2, 3}; System.out.println(permute(nums)); } }Go:package LeetCode import sort var ( res047 [][]int path047 []int st047 []bool ) func PermuteUnique047(nums []int) [][]int { res047 make([][]int, 0) path047 make([]int, len(nums)) st047 make([]bool, len(nums)) sort.Ints(nums) dfs047(nums, 0) return res047 } func dfs047(nums []int, index int) { if index len(nums) { tmp : make([]int, len(nums)) copy(tmp, nums) res047 append(res047, tmp) } for i : 0; i len(nums); i { if i ! 0 nums[i] nums[i-1] !st047[i-1] { continue } if !st047[i] { path047 append(path047, nums[i]) st047[i] true dfs047(nums, index1) st047[i] false path047 path047[:len(path047)-1] } } } func main() { nums : []int{1, 1, 2} path : LeetCode.PermuteUnique047(nums) fmt.Println(path) }是否还会记着我的样子.如果大家喜欢我的分享的话.可以关注我的微信公众号念何架构之路