1import collections
2class Solution:
3 def searchMinMax(self, nums):
4 minmax = collections.namedtuple("minmax", ("min", 'max'))
5 def minMax(self, a, b):
6 return minmax(a, b) if a < b else minmax(b, a)
7
8 if len(nums) <= 1: return minmax(nums[0], nums[0])
9 res = minMax(nums[0], nums[1])
10 for i in range(2, len(nums) - 1, 2):
11 curr = minMax(nums[i], nums[i + 1])
12 res = minmax(min(res.min, curr.min), max(res.max, curr.max))
13
14 if len(nums) % 2: res = minmax(min(res.min, nums[-1]), max(res.max, nums[-1]))
15
16 return res