Title Description:
Moves the first element of an array to the end of the array, which we call the rotation of the array.
Enter a rotation of a non-descending sorted array, outputting the smallest element of the rotated array.
For example, the array {3,4,5,1,2} is a rotation of {1,2,3,4,5}, and the minimum value of the array is 1.
Note: All elements given are greater than 0, and if the array size is 0, return 0.
classSolution { Public: intMinnumberinrotatearray (vector<int>Rotatearray) { if(rotatearray.size () = =0) return 0; intLow =0, high = Rotatearray.size ()-1, Mid; while(Low +1!=High ) {Mid= Low + (high-low)/2; if(Rotatearray[mid] = = Rotatearray[low] && Rotatearray[mid] = =Rotatearray[high]) { intTempmin =Rotatearray[low]; for(inti = low; I <= high; i++ ) { if(Rotatearray[i] <tempmin) {Tempmin=Rotatearray[i]; } } returntempmin; } if(Rotatearray[mid] >=Rotatearray[low]) { Low=mid; } if(Rotatearray[mid] <=Rotatearray[high]) { High=mid; } } returnRotatearray[high]; }};
Minimum number of rotated array-Sword point offer surface question 8