[Estructura de datos y algoritmo] Gire el número más pequeño de la matriz

Descripción del tema
Mueva los primeros elementos de una matriz al final de la matriz, lo llamamos la rotación de la matriz.
Ingrese una rotación de una matriz ordenada no decreciente y genere el elemento más pequeño de la matriz girada.
Por ejemplo, la matriz {3,4,5,1,2} es una rotación de {1,2,3,4,5}, y el valor mínimo de la matriz es 1.
NOTA: Todos los elementos dados son mayores que 0, si el tamaño de la matriz es 0, devuelva 0

Los siguientes datos son un caso especial que debe considerarse:

int array[10]  {10000,10000,10000,10000,10000,1,4,10000,10000,10000};

Código probado:

#include <iostream>
#include <vector>
using namespace std;

class Solution {
public:
    int minNumberInRotateArray(vector<int> rotateArray) {
        
            if(rotateArray.size()==0)
        {
            return 0;
        }
        else if(rotateArray[0]<rotateArray[rotateArray.size()-1])
        {
            return rotateArray[0];
        }
        else{
            int left=0;
            int right=rotateArray.size()-1;
            int middle;
            
            while(rotateArray[left]==rotateArray[right])
            {
                left++;
                right--;
            }
            
            while(rotateArray[left]>rotateArray[right])
            {
                if(left+1==right){
                   return rotateArray[right];
                }
                middle=(left+right)/2;
                cout<<"mid:"<<middle<<endl;
                if(rotateArray[middle]>=rotateArray[left])
                {
                    left=middle;
                }
                else{
                    right=middle;
                }

            }
            return 0;
        }
    }
};

int main()
{
vector <int> list;
int array[10]  {10000,10000,10000,10000,10000,1,4,10000,10000,10000};
for(int i=0;i<10;i++)
{
list.push_back(array[i]);
}

Solution so;
int ret = so.minNumberInRotateArray(list);
cout<<"result:"<<ret<<endl;
}
19 artículos originales publicados · Me gusta0 · Visitas 383

Supongo que te gusta

Origin blog.csdn.net/qinchun/article/details/105400141
Recomendado
Clasificación