directory
0.0.0-20240920062246-d0657495930a
Repository: https://github.com/yigmmk/leetcode.git
Documentation: pkg.go.dev

# Packages

* @lc app=leetcode.cn id=1238 lang=golang * * [1238] 循环码排列 * * https://leetcode.cn/problems/circular-permutation-in-binary-representation/description/ * * algorithms * Medium (67.63%) * Likes: 74 * Dislikes: 0 * Total Accepted: 8.7K * Total Submissions: 11.6K * Testcase Example: '2\n3' * * 给你两个整数 n 和 start。你的任务是返回任意 (0,1,2,,...,2^n-1) 的排列 p,并且满足: * * * p[0] = start * p[i] 和 p[i+1] 的二进制表示形式只有一位不同 * p[0] 和 p[2^n -1] 的二进制表示形式也只有一位不同 * * * * * 示例 1: * * 输入:n = 2, start = 3 * 输出:[3,2,0,1] * 解释:这个排列的二进制表示是 (11,10,00,01) * ⁠ 所有的相邻元素都有一位是不同的,另一个有效的排列是 [3,1,0,2] * * * 示例 2: * * 输出:n = 3, start = 2 * 输出:[2,6,7,5,4,0,1,3] * 解释:这个排列的二进制表示是 (010,110,111,101,100,000,001,011) * * * * * 提示: * * * 1 <= n <= 16 * 0 <= start < 2^n * * */.
* @lc app=leetcode.cn id=17 lang=golang * * [17] 电话号码的字母组合 * * https://leetcode.cn/problems/letter-combinations-of-a-phone-number/description/ * * algorithms * Medium (58.71%) * Likes: 2697 * Dislikes: 0 * Total Accepted: 785.5K * Total Submissions: 1.3M * Testcase Example: '"23"' * * 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 * * 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 * * * * * * 示例 1: * * * 输入:digits = "23" * 输出:["ad","ae","af","bd","be","bf","cd","ce","cf"] * * * 示例 2: * * * 输入:digits = "" * 输出:[] * * * 示例 3: * * * 输入:digits = "2" * 输出:["a","b","c"] * * * * * 提示: * * * 0 <= digits.length <= 4 * digits[i] 是范围 ['2', '9'] 的一个数字。 * * */.
* @lc app=leetcode.cn id=216 lang=golang * * [216] 组合总和 III * * https://leetcode.cn/problems/combination-sum-iii/description/ * * algorithms * Medium (71.17%) * Likes: 788 * Dislikes: 0 * Total Accepted: 320.3K * Total Submissions: 450.1K * Testcase Example: '3\n7' * * 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: * * * 只使用数字1到9 * 每个数字 最多使用一次 * * * 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 * * * * 示例 1: * * * 输入: k = 3, n = 7 * 输出: [[1,2,4]] * 解释: * 1 + 2 + 4 = 7 * 没有其他符合的组合了。 * * 示例 2: * * * 输入: k = 3, n = 9 * 输出: [[1,2,6], [1,3,5], [2,3,4]] * 解释: * 1 + 2 + 6 = 9 * 1 + 3 + 5 = 9 * 2 + 3 + 4 = 9 * 没有其他符合的组合了。 * * 示例 3: * * * 输入: k = 4, n = 1 * 输出: [] * 解释: 不存在有效的组合。 * 在[1,9]范围内使用4个不同的数字,我们可以得到的最小和是1+2+3+4 = 10,因为10 > 1,没有有效的组合。 * * * * * 提示: * * * 2 <= k <= 9 * 1 <= n <= 60 * * */.
* @lc app=leetcode.cn id=22 lang=golang * * [22] 括号生成 * * https://leetcode.cn/problems/generate-parentheses/description/ * * algorithms * Medium (77.55%) * Likes: 3483 * Dislikes: 0 * Total Accepted: 780.3K * Total Submissions: 1M * Testcase Example: '3' * * 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 * * * * 示例 1: * * * 输入:n = 3 * 输出:["((()))","(()())","(())()","()(())","()()()"] * * * 示例 2: * * * 输入:n = 1 * 输出:["()"] * * * * * 提示: * * * 1 <= n <= 8 * * */.
* @lc app=leetcode.cn id=377 lang=golang * * [377] 组合总和 Ⅳ * * https://leetcode.cn/problems/combination-sum-iv/description/ * * algorithms * Medium (52.74%) * Likes: 908 * Dislikes: 0 * Total Accepted: 166.7K * Total Submissions: 316K * Testcase Example: '[1,2,3]\n4' * * 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 * * 题目数据保证答案符合 32 位整数范围。 * * * * 示例 1: * * * 输入:nums = [1,2,3], target = 4 * 输出:7 * 解释: * 所有可能的组合为: * (1, 1, 1, 1) * (1, 1, 2) * (1, 2, 1) * (1, 3) * (2, 1, 1) * (2, 2) * (3, 1) * 请注意,顺序不同的序列被视作不同的组合。 * * * 示例 2: * * * 输入:nums = [9], target = 3 * 输出:0 * * * * * 提示: * * * 1 * 1 * nums 中的所有元素 互不相同 * 1 * * * * * 进阶:如果给定的数组中含有负数会发生什么?问题会产生何种变化?如果允许负数出现,需要向题目中添加哪些限制条件? * */.
* @lc app=leetcode.cn id=39 lang=golang * * [39] 组合总和 * * https://leetcode.cn/problems/combination-sum/description/ * * algorithms * Medium (72.34%) * Likes: 2684 * Dislikes: 0 * Total Accepted: 829.3K * Total Submissions: 1.1M * Testcase Example: '[2,3,6,7]\n7' * * 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target * 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 * * candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。 * * 对于给定的输入,保证和为 target 的不同组合数少于 150 个。 * * * * 示例 1: * * * 输入:candidates = [2,3,6,7], target = 7 * 输出:[[2,2,3],[7]] * 解释: * 2 和 3 可以形成一组候选,2 + 2 + 3 = 7 。注意 2 可以使用多次。 * 7 也是一个候选, 7 = 7 。 * 仅有这两种组合。 * * 示例 2: * * * 输入: candidates = [2,3,5], target = 8 * 输出: [[2,2,2,2],[2,3,3],[3,5]] * * 示例 3: * * * 输入: candidates = [2], target = 1 * 输出: [] * * * * * 提示: * * * 1 <= candidates.length <= 30 * 2 <= candidates[i] <= 40 * candidates 的所有元素 互不相同 * 1 <= target <= 40 * * */.
* @lc app=leetcode.cn id=40 lang=golang * * [40] 组合总和 II * * https://leetcode.cn/problems/combination-sum-ii/description/ * * algorithms * Medium (59.51%) * Likes: 1492 * Dislikes: 0 * Total Accepted: 481.3K * Total Submissions: 808.9K * Testcase Example: '[10,1,2,7,6,1,5]\n8' * * 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 * * candidates 中的每个数字在每个组合中只能使用 一次 。 * * 注意:解集不能包含重复的组合。 * * * * 示例 1: * * * 输入: candidates = [10,1,2,7,6,1,5], target = 8, * 输出: * [ * [1,1,6], * [1,2,5], * [1,7], * [2,6] * ] * * 示例 2: * * * 输入: candidates = [2,5,2,1,2], target = 5, * 输出: * [ * [1,2,2], * [5] * ] * * * * 提示: * * * 1 <= candidates.length <= 100 * 1 <= candidates[i] <= 50 * 1 <= target <= 30 * * */.
* @lc app=leetcode.cn id=78 lang=golang * * [78] 子集 * * https://leetcode.cn/problems/subsets/description/ * * algorithms * Medium (81.17%) * Likes: 2223 * Dislikes: 0 * Total Accepted: 716.4K * Total Submissions: 882.6K * Testcase Example: '[1,2,3]' * * 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 * * 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 * * * * 示例 1: * * * 输入:nums = [1,2,3] * 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] * * * 示例 2: * * * 输入:nums = [0] * 输出:[[],[0]] * * * * * 提示: * * * 1 * -10 * nums 中的所有元素 互不相同 * * */.
* @lc app=leetcode.cn id=89 lang=golang * * [89] 格雷编码 * * https://leetcode.cn/problems/gray-code/description/ * * algorithms * Medium (75.02%) * Likes: 591 * Dislikes: 0 * Total Accepted: 111.2K * Total Submissions: 148K * Testcase Example: '2' * * n 位格雷码序列 是一个由 2^n 个整数组成的序列,其中: * * 每个整数都在范围 [0, 2^n - 1] 内(含 0 和 2^n - 1) * 第一个整数是 0 * 一个整数在序列中出现 不超过一次 * 每对 相邻 整数的二进制表示 恰好一位不同 ,且 * 第一个 和 最后一个 整数的二进制表示 恰好一位不同 * * * 给你一个整数 n ,返回任一有效的 n 位格雷码序列 。 * * * * 示例 1: * * * 输入:n = 2 * 输出:[0,1,3,2] * 解释: * [0,1,3,2] 的二进制表示是 [00,01,11,10] 。 * - 00 和 01 有一位不同 * - 01 和 11 有一位不同 * - 11 和 10 有一位不同 * - 10 和 00 有一位不同 * [0,2,3,1] 也是一个有效的格雷码序列,其二进制表示是 [00,10,11,01] 。 * - 00 和 10 有一位不同 * - 10 和 11 有一位不同 * - 11 和 01 有一位不同 * - 01 和 00 有一位不同 * * * 示例 2: * * * 输入:n = 1 * 输出:[0,1] * * * * * 提示: * * * 1 <= n <= 16 * * */.
* @lc app=leetcode.cn id=90 lang=golang * * [90] 子集 II * * https://leetcode.cn/problems/subsets-ii/description/ * * algorithms * Medium (63.48%) * Likes: 1182 * Dislikes: 0 * Total Accepted: 341.8K * Total Submissions: 538.3K * Testcase Example: '[1,2,2]' * * 给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。 * * 解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。 * * * * * * 示例 1: * * * 输入:nums = [1,2,2] * 输出:[[],[1],[1,2],[1,2,2],[2],[2,2]] * * * 示例 2: * * * 输入:nums = [0] * 输出:[[],[0]] * * * * * 提示: * * * 1 * -10 * * * * */.