(n, r)
return recur(n, r)
This function calculates nCr using memoization method.
This function calculates nCr using memoization method.
This function calculates nCr using memoization method .
def combination_memo(n, r):
    """This function calculates nCr using memoization method."""
    memo = {}
    def recur(n, r):
        if n == r or r == 0:
            return 1
        if (n, r) not in memo:
            memo[(n, r)] = recur(n - 1, r - 1) + recur(n - 1, r)
        return memo[(n, r)]
    return recur(n, r)
def combination_memo ( n , r ) : memo = { } def recur ( n , r ) : if n == r or r == 0 : return 1 if ( n , r ) not in memo : memo [ ( n , r ) ] = recur ( n - 1 , r - 1 ) + recur ( n - 1 , r ) return memo [ ( n , r ) ] return recur ( n , r )