comefrom: <doocs>1035.Uncrossed Lines_1.py
code: def maxUncrossedLines( nums1: List[int], nums2: List[int]) -> int:
      m, n = len(nums1), len(nums2)
      dp = [[0] * (n + 1) for i in range(m + 1)]
      for i in range(1, m + 1):
          for j in range(1, n + 1):
              if nums1[i - 1] == nums2[j - 1]:
                  dp[i][j] = dp[i - 1][j - 1] + 1
              else:
                  dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])
      return dp[m][n]
masked: def sample_funcname ( var_0 : List [ int ] , var_3 : List [ int ] ) -> int :
      var_5 , var_6 = len ( var_0 ) , len ( var_3 )
      var_11 = [ [ 0 ] * ( var_6 + 1 ) for var_9 in range ( var_5 + 1 ) ]
      for var_9 in range ( 1 , var_5 + 1 ) :
          for var_12 in range ( 1 , var_6 + 1 ) :
              if var_0 [ var_9 - 1 ] == var_3 [ var_12 - 1 ] :
                  var_11 [ var_9 ] [ var_12 ] = var_11 [ var_9 - 1 ] [ var_12 - 1 ] + 1
              else :
                  var_11 [ var_9 ] [ var_12 ] = max ( var_11 [ var_9 - 1 ] [ var_12 ] , var_11 [ var_9 ] [ var_12 - 1 ] )
      return var_11 [ var_5 ] [ var_6 ]
  