89% faster || 82% less memory || C++ || Recursion
\nclass Solution {\npublic:\n    int func(vector<int>& nums, int left, int right, bool formax) {\n        if(left == right) return nums[left];\n        int mid 
```\nclass Solution {\npublic:\n    int func(vector<int>& nums, int left, int right, bool formax) {\n        if(left == right) return nums[left];\n        int mid = left + (right - left)/2;\n        if(formax) return max(func(nums, left, mid, 0), func(nums, mid+1, right, 1));\n        return min(func(nums, left, mid, 0), func(nums, mid+1, right, 1));\n    }\n    int minMaxGame(vector<int>& nums) {\n        if(nums.size() == 1) return nums[0];\n        int minval = 0, maxval = nums.size()-1, medval = minval + (maxval - minval)/2;\n        return min(func(nums, minval, medval, 0), func(nums, medval+1, maxval, 1));\n    }\n};\n```
['Recursion', 'C', 'C++']