PYTHON Lexicographic Rank Of A String

def fact(n):
    if n <= 1:
        return 1
    return n * fact(n-1)
def findRank(s):
    n = len(s)
    rank = 1
    for i in range(n):
        count = 0
        for j in range(i+1, n):
            if s[i] > s[j]:
                count += 1
        rank += count * fact(n-i-1)
    return rank
def main():
    s = input("Enter String:")
    print(findRank(s))
    return 0
main()

Popular posts from this blog

HTML Form With All Data Entry Types