首页 > 其他分享 >4.二分查找

4.二分查找

时间:2024-09-08 19:25:26浏览次数:12  
标签:二分 right return target nums int mid 查找

class Solution {
    public int search(int[] nums, int target) {
        int left=0,right=nums.length-1;
        return res(nums,target,left,right);
    }
    int res(int[] nums,int target,int left,int right){
        int mid=(left+right)/2;
        if(mid>nums.length-1)
            return -1;
        if(mid<0)
            return -1;
        if(left>right)
            return -1;
        if(nums[mid]==target)
            return mid;
        if(nums[mid]<target){
            left=mid+1;
            return res(nums,target,left,right);
        }
        if(nums[mid]>target){
            right=mid-1;
            return res(nums,target,left,right);
        }
        return -1;//预防意外情况,不写报错
    }
}

标签:二分,right,return,target,nums,int,mid,查找
From: https://blog.csdn.net/Runner__Binger/article/details/141831531

相关文章

  • 第二周9.7周六学习总结——二分
    while(l<r){intmid=l+r>>1; //(l+r)/2if(check(mid))r=mid;//check()判断mid是否满足性质elsel=mid+1;} while(l<r){intmid=l+r+1>>1; //(l+r+1)/2,往右找答案要加1......
  • 信息学奥赛初赛天天练-85-NOIP2014普及组-基础题4-链表、随机存取、顺序存取、二分查
    信息学奥赛初赛天天练-85-NOIP2014普及组-基础题4-链表、随机存取、顺序存取、二分查找、二分比较、循环结构、图领奖PDF文档公众号回复关键字:202409071NOIP2014普及组基础题49下列选项中不属于图像格式的是()AJPEG格式BTXT格式CGIF格式DPNG格式1......
  • 字符串查找函数strchr 、 strrchr和strstr的简介
    目录一、函数简介1.1. strchr 函数1.2.strrchr函数1.3. strstr 函数二、函数原型2.1. strchr 函数参数返回值2.1. strchr 函数参数返回值2.2. strstr 函数参数返回值三、函数实现(伪代码)3.1.strchr实现3.2.strrchr实现3.3. strstr实现四、......
  • 算法-二分查找
    二分查找是在一个有序的数组中查找目标值target,需要将target和数组中间元素做比较:1)如果target=mid,查找成功,返回mid的下标。2)如果target>mid,目标在数组右半部分,low=mid+13)target<mid,目标在数组左半部分,high=mid-1如下数组:1、首先,指定数组的左指针和右指针,根据公式mid......
  • 搜索算法之二分搜索详细解读(附带Java代码解读)
    1.基本概念二分搜索(BinarySearch)是一种高效的查找算法,用于在一个已排序的数组中查找特定元素。它通过逐步将搜索范围减少一半来实现搜索,从而比线性搜索更快。由于它利用了数组的有序性,能够在对数时间内完成搜索操作。2.工作原理二分搜索的基本思想是:初始化:设置两个指针......
  • 在脚本中自动查找 MSBuild 的位置
    新的.NET项目可以直接使用dotnet命令,但旧的.NETFramework项目仍然需要MSBuild进行生成。为了方便在不同环境下的自动编译可以通过VisualStudioInstaller的命令参数进行查找:PowerShell: &"${env:ProgramFiles(x86)}\MicrosoftVisualStudio\Installer\vswhere.e......
  • 1.3二分算法
    算法理解二分用于解决答案具有单调性问题(经典最大值最小问题),是一个好的入手点,用一个log的复杂度,将求解答案转化成了判断答案是否合法实数域上的二分两种方法:确定精度eps,固定枚举次数,一般后者精度大于前者T1:二分最大值,注:如果有一个数本身就大于二分答案,则答案肯定错误,证明:考虑......
  • DP优化——wqs二分
    在看wqs二分前建议先去看另一篇博客——斜率优化,对凸包等知识点有所了解。介绍wqs二分最初由王钦石在他的2012年国家集训队论文中提出,也叫"带权二分",或者"dp凸优化",而从IOI2016的Aliens题目开始,这种方法开始逐步在竞赛圈中有了一定的地位。在国内我们一般称为「wqs二......
  • OPenCV结构分析与形状描述符(5)查找图像中的连通组件的函数connectedComponents()的使用
    操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述connectedComponents函数计算布尔图像的连通组件标签图像。该函数接受一个具有4或8连通性的二值图像,并返回N,即标签总数(标签范围为[0,N-1],其中0代表背景标签)。ltype参数指......
  • C++机试——查找组成一个偶数最近的两个素数
    题目描述任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。数据范围:输入的数据满足 4≤n≤1000 4≤n≤1000 输入描述:输入一个大于2的偶数输出描述:从小到大输出两个素数思路      ......