def gameValue(nums): vals = [None]*(len(nums)+1) # vals[i] is the game value of nums[i:] vals[len(nums)] = 0 if len(nums) > 0: vals[len(nums)-1] = nums[len(nums)-1] for i in reversed(range(len(nums)-1)): vals[i] = max(nums[i] - vals[i+1], nums[i] + nums[i+1] - vals[i+2]) return vals[0]