704. 二分查找
很简单的二分搜索。
class Solution {
public int search(int[] nums, int target) {
if(null != nums && nums.length == 0) {
return -1;
}
int s = 0;
int e = nums.length;
while(s < e) {
int mid = (e-s)/2 + s;
if(nums[mid] == target) {
return mid;
} else if(nums[mid] < target) {
s = mid + 1;
} else {
e = mid;
}
}
return -1;
}
}
在二分搜索里面最应该注意的是s,e表示什么范围。这样就好进行缩小。
在代码中,s表示闭区间,e表示开区间。所以s需要加一,e直接等于mid就可以了。
网友评论