Ordenar y Buscar demostrar la seguridad offer--

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]
Liberadas nueve artículos originales · ganado elogios 0 · Vistas 751

Supongo que te gusta

Origin blog.csdn.net/weixin_42707571/article/details/105272568
Recomendado
Clasificación