Título describe
el comienzo de una serie de varios elementos movidos a la final de la matriz, que llamamos la rotación de la matriz.
Un orden no descendente de la matriz de entrada de una rotación de la rotativa array elemento más pequeño de salida.
Por ejemplo, una matriz {3,4,5,1,2} {1,2,3,4,5} es una rotación de la matriz a un mínimo.
NOTA: Todos los elementos se dan en mayor que 0, si el tamaño de la matriz es 0, retorno 0.
# -*- coding:utf-8 -*-
class Solution:
def minNumberInRotateArray(self, rotateArray):
# write code here
if len(rotateArray) == 0:
return 0
low = 0
mid = 0
high = len(rotateArray) - 1
while low < high:
if rotateArray[low] < rotateArray[high]:
return rotateArray[low]
mid = low + (high - low) // 2
if rotateArray[low] < rotateArray[mid]:
low = mid + 1
elif rotateArray[mid] < rotateArray[high]:
high = mid
else:
low += 1
return rotateArray[low]