def gameValue(nums): def valueStartingAt(i): """Return the game value of nums[i:]""" if i == len(nums): return 0 elif i == len(nums)-1: return nums[i] else: return max(nums[i] - valueStartingAt(i+1), nums[i] + nums[i+1] - valueStartingAt(i+2)) return valueStartingAt(0)