Algorithm for finding multiset permutation given lexicographic index
问题 I am trying to find an efficient algorithm to find permutation of a multiset, given an index. Ex: given {1, 3, 3} . All permutations in an ascending lexicographic order are {133, 313, 331} . These elements are indexed as {0, 1, 2} . Given index=2 , the result is 331. I found an algorithm to find permutation of a set given a lexicographic index. His algorithm is efficient: O(n^2). However, the algorithm is tested on a proper set (e.g. {1, 2, 3} ), and not correct on my test. I describe his