2024每日刷题(110)
Leetcode—33. 搜索旋转排序数组
实现代码
class Solution {
public:
int search(vector<int>& nums, int target) {
int n = nums.size();
int l = 0, r = n - 1;
while(l <= r) {
int m = l + (r - l) / 2;
if(nums[m] == target) {
return m;
}
// [l...m]升序
if(nums[l] <= nums[m]) {
if(nums[l] <= target && target < nums[m]) {
r = m - 1;
} else {
l = m + 1;
}
// [m...r]升序
} else {
if(nums[m] < target && target <= nums[r]) {
l = m + 1;
} else {
r = m - 1;
}
}
}
return -1;
}
};
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!