0
点赞
收藏
分享

微信扫一扫

每日力扣题-704. 二分查找

绣文字 2022-02-14 阅读 54

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

class Solution {
    public int search(int[] nums, int target) {
        int l=0,r=nums.length-1;// 定义target在左闭右闭的区间里,[left, right]
        while (l<=r){// 当left==right,区间[left, right]依然有效,所以用 <=
            int mid=(l+r)/2;
            if (nums[mid]==target)return mid;
            else if (nums[mid]<target)l=mid+1;// target 在右区间,所以[middle + 1, right]
            else r=mid-1; // target 在左区间,所以[left, middle - 1]
        }
        return -1;// 未找到目标值

    }
}
举报

相关推荐

0 条评论