提交 837f6fd4 编写于 作者: GreyZeng's avatar GreyZeng

update binary search

上级 ede87344
......@@ -4,19 +4,29 @@ package binarysearch;
// 二分查找:在一个有序数组中,找某个数是否存在,返回目标值所在的位置
// https://leetcode.com/problems/binary-search/
public class LeetCode_0704_BinarySearch {
public int search(int[] nums, int target) {
public static int search(int[] nums, int target) {
if (null == nums || nums.length < 1) {
return -1;
}
int l = 0;
int r = nums.length - 1;
while (l <= r) {
int m = l + ((r - l) >> 1);
if (nums[m] == target) {
return m;
} else if (nums[m] < target) {
l = m + 1;
int mid = l + ((r - l) >> 1);
if (nums[mid] == target) {
return mid;
} else if (nums[mid] < target) {
l = mid + 1;
} else {
r = m - 1;
r = mid - 1;
}
}
return -1;
}
public static void main(String[] args) {
int[] nums = {-1, 0, 3, 5, 9, 12};
int target = 9;
int search = search(nums, target);
System.out.println(search);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册