1. 旋转数组的最小数字
给定一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并进行了一次旋转。请返回旋转数组的最小元素。
把一个数组最开始的若干个元素搬到数组的末尾,称为数组的旋转
方法:
def minArray(numbers):
min = 0
max = len(numbers) - 1
while min < max:
cen = min + (max - min) // 2
if numbers[max] > numbers[cen]:
max = cen
elif numbers[max] < numbers[cen]:
min = cen + 1
else:
max -= 1
return numbers[min]