是否可以使用重复O(n^2)算法将给定的unrank优化到较低的复杂性级别,如果可以,如何?

该算法由以下链接给出:

https://www.geeksforgeeks.org/find-n-th-lexicographically-permutation-string-set-2/

  ask by TTho Einthausend translate from so

本文未有回复,本站智能推荐:

1回复

数组置换算法

我们有一个大小为N (1 ≤ N ≤ 10^4) 的整数数组A[] ,它最初是一个包含条目1...N的排序数组。 对于大小为N任何排列P ,数组被打乱,以便在打乱之前从左侧开始的第i个条目位于打乱之后的第Ai个位置。 您将不断重复此洗牌,直到再次对数组进行排序。 例如,对于A[] = {1, 2,
1回复

由DI序列定义的开始x的排列计数的代码优化

我想计算DI Sequence和匹配给定起始值定义的某个子集中的所有排列。 类似的问题: https://leetcode.com/articles/valid-permutations-for-di-sequence/ : https://leetcode.com/articles/va
1回复

仅用一个循环进行排序和非排序排列

我想使用给定的 len 按字典顺序对一个循环进行排序和取消排序。 一个循环的排列是你可以在这个循环中访问每个元素的地方。 p:= (2,3,1)是一个循环的排列。 已排名 1。 p:= (3,1,2)也有 1 个循环,但排名 2,因为排列在字典序上比第一个更大,因此它成为更大的排名。
1回复

Python中数组的随机有效排列[重复]

这个问题已经在这里有了答案: 生成列表的随机排列 7个答案 假设给定正整数的数组A和B A和B包含相同的整数(相同的次数),因此它们的长度自然相同。 如果对于i = 0, 1, ..., len(U) - 1 U[i] != V[i] ,则认为两个数组U和V
1回复

优化循环排序实施

循环排序是一种就地排序,其依据是您可以将要排序的排列分解为循环。 如果将每个循环旋转一个位置,则将对数组进行排序。 可以很容易地对其进行编码,以使对该阵列的写入次数是任何就地排序所需的理论最小值(这对于闪存驱动器上的海量数据集非常有用,您要在其中将写入次数降至最低)设备)。 有什么方法
4回复

查找给定字符串置换的优化算法?

在下面的代码中,我找到了给定输入字符串的所有可能排列,并将它们存储在列表中,然后计算其中的回文数。当输入字符串长度小于10时,这很好用。但是当输入字符串长度较大时超过10,需要很长时间才能找到排列。 我想知道在这里可以优化哪些以获得恒定的执行时间? 测试的输入: aaabbb
1回复

以最小成本将 N 个代理放入 M 个避难所的算法

TL;DR:简短的问题描述: 我正在寻找一种有效的算法,通过最小化代理需要移动的距离来优化位于 2D 空间中的 N 个代理如何放置在 M 个避难所中。 每个收容所只能容纳 1 名特工。 如果 N > M(比可用避难所更多的代理),那么一些代理将不会被放入避难所(所有代理都相同)。 (
3回复

有限重复排列算法

是否有一种算法可以列出有限重复的所有排列? 如果有一个现有的 Java 库,那就太好了! 假设我们有 3 个项目{A, B, C} 。 我们想要 2 个项目的排列。 这将是3 P 2 : 但是如果我们允许最多重复两次。 会怎样? (我真的不知道。) 我试着想象我们从集合{A, A, B,