美文网首页
二分法的写法

二分法的写法

作者: 知识分享share | 来源:发表于2022-12-21 23:35 被阅读0次

二分法的写法

var nums=[1,2,3,4];
var target=3;
// 左闭右闭
var find=(nums,target)=>{
    var l=0;
    var r=nums.length-1;
    while(l<=r){
        var mid=Math.floor((l+r)/2);
        if(nums[mid]>target){
            r=mid-1;
        }
        else if(nums[mid]<target){
            l=mid+1;
        }else{
            return nums[mid];
        }
    }
    return -1;
}

//左闭右开
var find2=(nums,target)=>{
    var l=0;
    var r=nums.length;
    while(l<r){
        var mid=Math.floor((l+r)/2);
        if(nums[mid]>target){
            r=mid;
        }else if(nums[mid]<target){
            l=mid+1;
        }else{
            return nums[mid];
        }
    }
    return -1;
}

//左闭右开,递归写法
var find3=(nums,t)=>{
    var search=(l,r)=>{
        if(l>=r) return -1
        var mid=Math.floor((l+r)/2)
        if(nums[mid]>target){
            return search(l,mid)
        }else if(nums[mid]<target){
            return search(mid+1,r)
        }else{
            return mid
        }
    }
    return search(0,nums.length)
}


相关文章

  • 二分法的写法

    二分法的写法

  • [Leetcode] [Tag 二分法] Python 刷题总结

    经典的二分法 1. 二分法最经典的写法,其他都是在此基础上的变形。 leetcode 704. Binary Se...

  • 排序算法

    均为C语言实现 操作对象均为一维int型数组 逆序 选择排序 冒泡排序 另一种写法 插入排序 原地插入排序 二分法

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

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

  • 二分法查找

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

  • 二分法查找

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

  • 手绘日常

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

  • 前端面试之算法二分法

    使用二分法的前提是,目标数组的元素必须是有序排列的,所以二分法属于有序查找算法 二分法又称为“折半查找”,从数组的...

  • JS面向对象-灵活的语言

    验证函数的多种写法: 写法一: 写法二: 写法三: 写法四: 写法五: 写法六: 写法七: 写法八: 除此之外,如...

  • leetcode涉及的算法复杂度计算

    二分法算法复杂度lognhttps://www.zhihu.com/question/20503898 二分法的复...

网友评论

      本文标题:二分法的写法

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