[Python/45ms] recursive python with memo


  • 0
    memo = {}
    
    
    class Solution(object):
        def integerReplacement(self, n):
            """
            :type n: int
            :rtype: int
            """
            global memo
            if n in memo:
                return memo[n]
    
            if n == 1:
                return 0
            if n % 2 == 0:
                memo[n] = 1 + self.integerReplacement(n/2)
                return memo[n]
            else:
                memo[n] = 1 + min(self.integerReplacement(n+1), self.integerReplacement(n-1))
                return memo[n]
    
    

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.