题解 | #二分查找-I#
二分查找-I
http://www.nowcoder.com/practice/d3df40bd23594118b57554129cadf47b
思路: (1)设立左右边界left、right (2)确定while循环的判断条件 (3)确定数组的中间元素,将查找的值与目标值比较
- 若相等,查找成功返回此位置
- 否则确定新的左右边界,继续该操作。
代码:
import java.util.*;
public class Solution {
public int search (int[] nums, int target) {
int left = 0, 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;
}
}