题解 | #旋转排列之找出最矮的牛#
旋转排列之找出最矮的牛
https://www.nowcoder.com/practice/ea91217beb83444aa324b86bfab4a952
题目考察的知识点:二分查找
题目解答方法的文字分析:left<mid,则在left到mid之间是降序,所以最小的数肯定没在left与mid之间,更新left;否则更新right。
本题解析所用的编程语言:c++
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param heights int整型vector
* @return int整型
*/
int findMin(vector<int>& heights) {
// write code here
int left = 0, right = heights.size() - 1;
while (left < right)
{
if (right - left == 1)
break;
int mid = (left + right) / 2;
if (heights[left] >= heights[mid])
left = mid;
else
right = mid;
}
return heights[left];
}
};
查看14道真题和解析