/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var search = function (nums, target) {
//凡是从有序数列中寻找目标值,第一个应该想到二分法
if (nums.length == 0) return -1
let l = 0;
let r = nums.length - 1;
while (l <= r) {
const mid = Math.floor((l + r) / 2);
if (nums[mid] === target) return mid;
if (nums[mid] >= nums[l]) {
if (target >= nums[l] && target <= nums[mid]) {
r = mid - 1
} else {
l = mid + 1
}
} else {
if (target <= nums[r] && target >= nums[mid]) {
l = mid + 1
} else {
r = mid - 1
}
}
}
return -1
};