23得票6回答
分割字符串

给定一个字符串,我想生成所有可能的组合。换句话说,就是在字符串中任意位置放置逗号的所有可能方式。 例如:input: ["abcd"] output: ["abcd"] ["abc","d"] ["ab","cd"] ["ab","c","d...

10得票7回答
寻找给定排列的索引

我正在按某种顺序逐个阅读数字 0,1,...,(N - 1)。我的目标是找到给定排列的字典序索引,仅使用O(1)空间。 此问题以前已被提出,但我找到的所有算法都使用了 O(N)空间。我开始认为这是不可能的。但如果能减少分配数量,这将对我非常有帮助。

25得票6回答
Heap算法用于排列组合

我正在准备面试,试图记忆 Heap 算法:procedure generate(n : integer, A : array of any): if n = 1 then output(A) else for i := 0; i < n...

88得票20回答
独特值排列组合

itertools.permutations 生成排列时,元素按其位置唯一处理,而不是按其值唯一处理。因此,我想避免出现这样的重复:>>> list(itertools.permutations([1, 1, 1])) [(1, 1, 1), (1, 1, 1), (1, 1...

8得票1回答
在Python中,如何生成数组的排列,使得每行每列只有一个元素?

例如: 假设你有以下数组: 说你有以下的数组: [1,2,3] [4,5,6] [7,8,9] 你想要生成这个数组: [1,5,9] [1,6,8] [4,2,9] [4,8,3] [7,2,6] [7,5,3]

7得票3回答
列表的所有可能子集

我刚刚写了一个小型的递归程序来生成列表的所有可能子集。 def subdivisions(ls): yield [ls] if len(ls) > 1: for i in range(1, len(ls)): for lhs in...

7得票3回答
O(N)排列检测

这个答案 通过比较两个字符串的内容来确定它们是否为排列。如果它们包含相同数量的每个字符,那么它们显然是排列。这可以在O(N)时间内完成。 我不喜欢这个答案,因为它重新发明了is_permutation 的设计目的。话虽如此,is_permutation 的复杂度为: 最多应用谓词的次数为...

18得票10回答
在Swift中计算字符串的所有排列

对于字符串"ABC",下面的代码段计算了6个总排列数中的5个。我的策略是将每个字符插入到每个可能的索引位置。但是该函数从未得到"CBA"作为可能的排列。我错过了什么?var permutationArray:[String] = []; let string: String = "ABC" ...

11得票8回答
如何检查排列是否具有相同的奇偶性?

我正在寻找一种方法来检查两个排列(由列表表示)是否具有相同的奇偶性。请注意,我对它们是偶数还是奇数奇偶性不感兴趣,只关注它们是否相等。 我对Python还不熟悉,我的天真解决方案如下所示。我期待Python大师们向我展示一些更简洁、更优雅的Python代码来实现相同的功能。

7得票2回答
BST输入的可能排列

我被给予一个字符串 "CPHBDZ"。通过按照顺序将字母插入到二叉搜索树中,我会得到以下结果: C / \ B P / \ H Z / D 如果我们将字符串的顺序改为“CBPHDZ”,我们将得到相同的树。 我需要查找并列出所有提供相同BST的输入字符串的排列。我...