/** * * @param rotateArray int整型一维数组 * @param rotateArrayLen int rotateArray数组长度 * @return int整型 */ int minNumberInRotateArray(int* rotateArray, int rotateArrayLen ) { // write code here int l=0; int r=rotateArrayLen-1; while(l<=r) { int mid=(l+r)/2; if(rotateArray[mid]<rotateArray[r]) r=mid; else if(rotateArray[mid]==rotateArray[r]) r--;//防止重复出现的元素把最小值排除(像下面) // 例如输入{11101} 代码:if(rotateArray[mid]<=rotateArray[r]) r=mid;就不行 else l=mid+1; } return rotateArray[l]; }