其他分享
首页 > 其他分享> > 旋转数组的最小数字

旋转数组的最小数字

作者:互联网

题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。

思路:

代码:

 1 function minNumberInRotateArray(rotateArray)
 2 {
 3     // write code here
 4     if(rotateArray.length === 0) return 0;
 5     let left = 0,
 6         right = rotateArray.length - 1;
 7     while(left < right){
 8         let mid = left + Math.floor((right-left)/2);
 9         if(rotateArray[mid] > rotateArray[right]){
10             left =mid + 1;
11         }else if(rotateArray[mid] < rotateArray[right]){
12             right = mid;
13         }else{
14             right--;
15         }
16     }
17     return rotateArray[left];
18 }
19 module.exports = {
20     minNumberInRotateArray : minNumberInRotateArray
21 };

 

标签:right,minNumberInRotateArray,mid,最小,旋转,数组,rotateArray,left
来源: https://www.cnblogs.com/icyyyy/p/14804338.html