【二分查找模板】leetcode 704 二分查找

本文介绍了LeetCode第704题——二分查找的解题方法。在已排序的数组中寻找目标值,返回其下标,未找到则返回-1。解题思路主要利用二分查找算法,通过不断调整查找范围找到目标值的位置。文中提供了两种不同形式的二分查找代码实现,并强调了它们的配套使用。
摘要由CSDN通过智能技术生成

leetcode 704 二分查找

题意:在一个升序数组里找某个数,返回其下标,若找不到返回-1

知识点:二分

解题思路:在数组中用二分找一个大于等于target且与target最接近的数

注意的点:
二分这两种形式应配套使用

while(l<r)
l=mid+1;
r=mid;
int mid=(l+r)>>1;
while(l<r)
l=mid;
r=mid-1;
int mid=(l+r+1)>>1;

完整代码:

class Solution {
    public int search(int[] nums, int target) {
        int l=0,r=nums.length-1;
        while(l<r){
            int mid=(l+r)>>1;
            if(nums[mid]<target){
                l=mid+1;
            }
            else r=mid;
        }
        if(nums[l]==target)return l;
        return -1;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值