input: def editDistance(string1: str, string2: str) -> int:
      """ Compute the edit distance between two strings.
      The edit distance between two strings is the minimum number of operations (insertions, deletions, or substitutions) required to change one string into the other.
      >>> editDistance("kitten", "sitting")
      3
      >>> editDistance("intention", "execution")
      5
      """
      m = len(string1)
      n = len(string2)
  
      dp = [[0 for x in range(n+1)] for x in range(m+1)]
  
      for i in range(m+1):
          dp[i][0] = i
  
      for j in range(n+1):
          dp[0][j] = j
  
      for i in range(1, m+1):
          for j in range(1, n+1):
              if string1[i-1] == string2[j-1]:
                  dp[i][j] = dp[i-1][j-1]
              else:
                  dp[i][j] = 1 + min(dp[i][j-1],        # Insert
                                     dp[i-1][j],        # Remove
                                     dp[i-1][j-1])      # Replace
  
      return dp[m][n]
output:     m = len(string1)
      n = len(string2)
  
      dp = [[0 for x in range(n+1)] for x in range(m+1)]
  
      for i in range(m+1):
          dp[i][0] = i
  
      for j in range(n+1):
          dp[0][j] = j
  
      for i in range(1, m+1):
          for j in range(1, n+1):
              if string1[i-1] == string2[j-1]:
                  dp[i][j] = dp[i-1][j-1]
              else:
                  dp[i][j] = 1 + min(dp[i][j-1],        # Insert
                                     dp[i-1][j],        # Remove
                                     dp[i-1][j-1])      # Replace
  
      return dp[m][n]