Quantcast
Viewing all articles
Browse latest Browse all 6

Answer by Xi'an for number to unique permutation mapping of a sequence containing duplicates

As I was unsure of the code in gbronner's answer (or of my understanding), I recoded it in R as follows

ritpermz=function(n, parclass){
    return(factorial(n) / prod(factorial(parclass)))}

rankum <- function(confg, parclass){
    n=length(confg)
    permdex=1
    for (i in 1:(n-1)){
      x=confg[i]
      if (x > 1){
        for (j in 1:(x-1)){
            if(parclass[j] > 0){
                parclass[j]=parclass[j]-1
                permdex=permdex + ritpermz(n-i, parclass)
                parclass[j]=parclass[j]+1}}}
        parclass[x]=parclass[x]-1
    }#}
    return(permdex)
}

which does produce a ranking with the right range of integers


Viewing all articles
Browse latest Browse all 6

Trending Articles