题目:
Given a sorted (in ascending order) integer array nums of n elements and a target value, write a function to search target in nums. If target exists, then return its index, otherwise return -1.
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
Explanation: 2 does not exist in nums so return -1
public class BinarySearch {
public static int search(int[] nums, int target) {
//处理特殊例子
//数组为null或者数组为空
if(nums == null || nums.length == 0)
return -1;
//实现业务逻辑
int l = 0;
int r = nums.length - 1;
while(l <= r){
int mid = l + (r - l >> 1);
if(nums[mid] == target)
return mid;
if(target > nums[mid])
l = mid + 1;
else
r = mid - 1;
}
return -1;
}
public static void main(String[] args) {
int[] nums = {-1,0,3,5,9,12};
int target = 9;
System.out.println(search(nums, target));
}
}
博客给出一个LeetCode题目,要求在升序整数数组中查找目标值。若目标值存在则返回其索引,不存在则返回 -1,并给出两个示例,分别展示目标值存在和不存在的情况。
155

被折叠的 条评论
为什么被折叠?



