【力扣】704. 二分查找

一、题目

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。

输入: nums = [-1,0,3,5,9,12], target = 9

输出: 4

解释: 9 出现在 nums 中并且下标为 4

二、代码

class Solution {
    public int search(int[] nums, int target) {
        int l = 0;
        int r = nums.length - 1; 
        while(l <= r){
            int m = (l + r) / 2;
            if(target == nums[m])
                return m;
            else if(target > nums[m])
                l = m + 1;
            else 
                r = m - 1;
        }
        return -1;
    }
}