算法----排列组合
sunlanchang
北京邮电大学-计算机硕士,sunlanchang@bupt.edu.cn
展开
-
LeetCode 842. 将数组拆分成斐波那契序列 (回溯)
Description给定一个数字字符串 S,比如 S = “123456579”,我们可以将它分成斐波那契式的序列 [123, 456, 579]。形式上,斐波那契式序列是一个非负整数列表 F,且满足:0 <= F[i] <= 2^31 - 1,(也就是说,每个整数都符合 32 位有符号整数类型);F.length >= 3;对于所有的0 <= i < F.length - 2,都有 F[i] + F[i+1] = F[i+2] 成立。另外,请注意,将字符串拆分成原创 2020-12-09 11:15:53 · 196 阅读 · 0 评论 -
Leetcode 1248. 统计优美子数组(数学)
Description给你一个整数数组 nums 和一个整数 k。如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。请返回这个数组中「优美子数组」的数目。示例 1:输入:nums = [1,1,2,1,1], k = 3输出:2解释:包含 3 个奇数的子数组是 [1,1,2,1] 和 [1,2,1,1] 。示例 2:输入:nums = [2...原创 2020-04-21 19:45:20 · 323 阅读 · 0 评论 -
LeetCode 17. 电话号码的字母组合
Description给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].Solution与Leetcode 784. 字母大小写全排列相同。集合中选择元素组合即...原创 2019-11-01 16:14:55 · 126 阅读 · 0 评论 -
Leetcode 784. 字母大小写全排列(集合中选择元素进行组合)
Description给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。示例:输入: S = "a1b2"输出: ["a1b2", "a1B2", "A1b2", "A1B2"]输入: S = "3z4"输出: ["3z4", "3Z4"]输入: S = "12345"输出: ["12345"]Solution...原创 2019-11-01 15:56:24 · 297 阅读 · 0 评论 -
剑指offer 字符串的排列(全排列回溯、DFS)
描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。Solution常规DFS,注意返回返回数组进行去重、排序处理。class Solution: def __init__(...原创 2019-08-19 17:33:04 · 409 阅读 · 0 评论 -
LeetCode 47. 全排列 II
Description给定一个可包含重复数字的序列,返回所有不重复的全排列。示例:输入: [1,1,2]输出:[ [1,1,2], [1,2,1], [2,1,1]]Descriptionclass Solution: def permuteUnique(self, nums): res = [] def backtrack...原创 2019-10-30 11:41:08 · 128 阅读 · 0 评论 -
LeetCode 46. 全排列
Description给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]Solutionclass Solution: def permute(self, nums): res = []...原创 2019-10-30 11:39:59 · 113 阅读 · 0 评论 -
LeetCode 90. 子集 II(组合)
Description给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[ [2], [1], [1,2,2], [2,2], [1,2], []]Solution参考:LeetCode题解class Solution(object): def su...原创 2019-10-30 10:34:46 · 170 阅读 · 0 评论 -
LeetCode 78. 子集(组合)
Description给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]Solution回溯。参考:LeetCode题解class Solu...原创 2019-10-30 09:59:06 · 98 阅读 · 0 评论