PYTHON solution Memoization DP
\t#MEMOIZATION\t\n\t\tclass Solution:\n\t\t\tdef minScoreTriangulation(self, arr: List[int]) -> int:\n\t\t\t\tN=len(arr)\n\t\t\t\tdp=[[-1](N+1) for i in range(N
\t#MEMOIZATION\t\n\t\tclass Solution:\n\t\t\tdef minScoreTriangulation(self, arr: List[int]) -> int:\n\t\t\t\tN=len(arr)\n\t\t\t\tdp=[[-1]*(N+1) for i in range(N+1)]\n\t\t\t\tdef solve(i,j):\n\t\t\t\t\tif i>=j:\n\t\t\t\t\t\treturn 0    \n\t\t\t\t\tif dp[i][j]!=-1:\n\t\t\t\t\t\treturn dp[i][j]\n\t\t\t\t\tminn=float(\'inf\')\n\t\t\t\t\tfor k in range(i,j):\n\t\t\t\t\t\tminn=min(minn,solve(i,k)+solve(k+1,j)+(arr[i-1]*arr[k]*arr[j]))\n\t\t\t\t\t\tdp[i][j]=minn\n\t\t\t\t\treturn dp[i][j]\n\n\t\t\t\treturn solve(1,N-1)
['Dynamic Programming', 'Memoization', 'Python']