153.寻找旋转排序数组中的最小值
小于 1 分钟
153.寻找旋转排序数组中的最小值
/*
* @lc app=leetcode.cn id=153 lang=typescript
*
* [153] 寻找旋转排序数组中的最小值
* 备注:原数组升序
*/
// @lc code=start
function findMin(nums: number[]): number {
let l = 0,
r = nums.length - 1;
while (l < r) {
if (r - l == 1) return Math.min(nums[l], nums[r]);
let mid = Math.floor((l + r) / 2);
if (nums[l] < nums[mid] && nums[mid] < nums[r]) {
return nums[l];
}
if (nums[l] > nums[mid]) {
// 右边有序,最小值在左侧
r = mid;
} else {
// 左边有序,最小值在右侧
l = mid;
}
}
return nums[l];
}
console.log(findMin([3, 1, 2]));
// @lc code=end
Loading...
