Binary Search
Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return -1.
You must write an algorithm with O(log n)
runtime complexity.
Example 1:
Input: nums = [-1,0,3,5,9,12], target = 9
Output: 4
Explanation: 9 exists in nums and its index is 4
Example 2:
Input: nums = [-1,0,3,5,9,12], target = 2
Output: -1
Constraints:
- 1 <= nums.length <= 104
- -104 < nums[i], target < 104
- All the integers in
nums
are unique.
nums
is sorted in ascending order.
二分法搜索
给你一个按升序排列好的整数数组nums,和一个整数 target ,下一个函数去nums中寻找target,如果 target存在,返回它的下标,否则返回-1.
你要写一个时间复杂度为O(log n)
的算法
例子1
输入:nums = [-1,0,3,5,9,12], target = 9
输出:-1
解释:9存在于数组中,下标为4
例子2
输入:nums = [-1,0,3,5,9,12],target=2
输出: -1
限制
Nums 长度<10000
-10000<nums[i],target<10000
Nums中整数都不重复
数组nums按升序排列