参考资料:
[1]peng.tan的回答:https://www.nowcoder.com/profile/648947/codeBookDetail?submissionId=2954831
思路:
如果前面一个数大于后面一个数,那么后面一个数就是最小的
关键词:
自己的答案:
int MinNumInRotateArray(vector<int> vecRotateArray)
{
//如果前面一个数大于后买那一个数,那么后面那个数就是最小的
int nLen = vecRotateArray.size();
if (nLen == 0)
return -1;
int nTarget;
bool bFlag = false;
for (int i = 0; i < (nLen - 1); i++)
{
if (vecRotateArray[i] > vecRotateArray[i + 1])
{
nTarget = vecRotateArray[i + 1];
bFlag = true;
break;
}
}
//如果找到了,那么就返回该数
if (bFlag == true)
return nTarget;
else
return vecRotateArray[0];
}