题解 | #旋转数组的最小数字#
旋转数组的最小数字
https://www.nowcoder.com/practice/9f3231a991af4f55b95579b44b7a01ba
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型
*/
int minNumberInRotateArray(vector<int>& nums) {
if (nums.size() == 1) return nums.front();
size_t l = 0, r = nums.size();
while(r - l > 1) {
auto mid = (l + r - 1) >> 1;
auto mv = nums[mid], rv = nums[r - 1];
if (mv > rv) {
l = mid + 1;
} else if (mv < rv) {
r = mid + 1;
} else {
r = r - 1;
}
}
return nums[l];
}
};



查看12道真题和解析