Leetcode 486 Solution

This article provides solution to leetcode question 486 (predict-the-winner)

https://leetcode.com/problems/predict-the-winner

Solution

class Solution: def PredictTheWinner(self, nums: List[int]) -> bool: m = {}
def predict(i, j): nonlocal nums
if i == j: return nums[i]
key = (i, j)
if key in m: return m[key]
res = max( nums[i] - predict(i + 1, j), nums[j] - predict(i, j - 1), )
m[key] = res return res
return predict(0, len(nums) - 1) >= 0