add: 只出现一次的数字等
This commit is contained in:
38
src/array/search-in-rotated-sorted-array.js
Normal file
38
src/array/search-in-rotated-sorted-array.js
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* @param {number[]} nums
|
||||
* @param {number} target
|
||||
* @return {number}
|
||||
*/
|
||||
export const search = function (nums, target) {
|
||||
// 参考 src/array/binary-search.js
|
||||
let l = 0
|
||||
let r = nums.length - 1
|
||||
while (l <= r) {
|
||||
const mid = l + ((r - l) >> 1)
|
||||
if (nums[mid] === target) return mid
|
||||
|
||||
if (nums[l] <= nums[mid]) {
|
||||
if (nums[mid] > target && nums[l] <= target) {
|
||||
r = mid - 1
|
||||
} else {
|
||||
l = mid + 1
|
||||
}
|
||||
} else {
|
||||
if (nums[mid] < target && nums[r] >= target) {
|
||||
l = mid + 1
|
||||
} else {
|
||||
r = mid - 1
|
||||
}
|
||||
}
|
||||
}
|
||||
return -1
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {number[]} nums
|
||||
* @param {number} target
|
||||
* @return {number}
|
||||
*/
|
||||
// export const search = (nums, target) => {
|
||||
// return nums.indexOf(target)
|
||||
// }
|
Reference in New Issue
Block a user