题目来源于力扣(LeetCode)
一、题目
题目相关标签:二分查找
提示:
- 你可以假设
nums
中的所有元素是不重复的。n
将在[1, 10000]
之间。nums
的每个元素都将在[-9999, 9999]
之间。
二、解题思路
- 二分查找的应用
三、代码实现
public static int search(int[] nums, int target) {
int left = 0;
int right = nums.length - 1;
while (left <= right) {
// 中间索引
int mid = left + (right - left) / 2;
if (nums[mid] == target) {
return mid;
} else if (nums[mid] > target) {
right = mid - 1;
} else {
left = mid + 1;
}
}
return -1;
}
四、执行用时
五、部分测试用例
public static void main(String[] args) {
int[] nums = {-1, 0, 3, 5, 9, 12};
int target = 9; // output: 4
// int[] nums = {-1, 0, 3, 5, 9, 12};
// int target = 2; // output: -1
int result = search(nums, target);
System.out.println(result);
}