美文网首页
二分法的多种编写

二分法的多种编写

作者: 李清依 | 来源:发表于2019-01-11 16:55 被阅读0次

二分法第一种

在[left,right]范围内寻找target

public int BinarySearch(int []a,int n,int target){
        int left=0;int right=n-1;//在[left,right]范围内寻找target
        while (left<=right){//当l==r时,区间[l,r]有效
            int mid=(left+right)/2;
            if (a[mid]==target){
                return mid;
            }
            else if (a[mid]>target){
                right=mid-1;
            }
            else {
                left=mid+1;
            }
        }
        return -1;
    }

二分法第二种

在[left,right)范围内寻找target

public int BinarySearch1(int []a,int n,int target){
        int left=0;int right=n;//在[left,right)范围内寻找target
        while (left<right){//当l==r时,区间[l,r)有效
            int mid=(left+right)/2;
            if (a[mid]==target){
                return mid;
            }
            else if (a[mid]>target){
                right=mid;//此时需修改,让其在左开右闭的区间内
            }
            else {
                left=mid+1;
            }
        }
        return -1;
    }

相关文章

  • 二分法的多种编写

    二分法第一种 在[left,right]范围内寻找target 二分法第二种 在[left,right)范围内寻找...

  • 冒泡排序、选择排序和二分法查找

    冒泡排序 选择排序 二分法查找 概念 1.使用二分法好处: 可以加快寻找的效率。2.使用二分法特点: 二分法...

  • 二分法查找

    二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法查找的前提是数组必须排序!!!二分法...

  • RabbitMQ简介以及应用

    一、简要介绍 开源AMQP实现,Erlang语言编写,支持多种客户端 分布式、高可用、持久化、可靠、安全 支持多种...

  • Docker实战(一) 搭建Pprometheus监控平台

    简介 Prometheus Server由Go语言编写而成,采取“拉”(pull)的方式,获取多种Promethe...

  • 二分法查找

    二分法基本查找 二分法遍历查找

  • C++复习之排序

    排序有很多种,这里记录一下经常会用到的:插入排序(直接、二分法、希尔排序)、交换排序(冒泡、快排)、选择排序(简单...

  • 分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在

    编写程序,分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根,要求计算精确到小数...

  • pyspider使用

    一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,...

  • 手绘日常

    人物素描 今天重点讲二分法 二分法的重要性

网友评论

      本文标题:二分法的多种编写

      本文链接:https://www.haomeiwen.com/subject/lzwxdqtx.html