Backtrack

LeetCode Logo

22. 括号生成

https://leetcode.cn/problems/generate-parentheses/description 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:[“((()))”,”(()())”,”(())()”,”()(())”,”()()()”] 示例 2: 输入:n = 1 输出:[“()”] 提示: 思路: 递归, 满足条件有: 左括号和右括号数量之和为2*n; 递归过程中左括号数量小于n则可以加左括号DFS, 若右括号数量小于左括号则可以加右括号DFS C#实现:

22. 括号生成 Read More »

LeetCode Logo

46. 全排列

https://leetcode.cn/problems/permutations/description 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2: 输入:nums = [0,1] 输出:[[0,1],[1,0]] 示例 3: 输入:nums = [1] 输出:[[1]] 提示: 思路:递归+回溯,并用flag数组避免重复访问 C#实现:

46. 全排列 Read More »

Subscribe for New Articles!