分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

js 二分查找(Binary Search)

发布时间:2023-09-06 02:19责任编辑:苏小强关键词:js

数组二分查找:

1.先对数组排序,从小到大排序

2.定义两个指针,左指针(left)指向数组第一个元素,右指针(right)指向数组最后一个元素

3.取数组中间(nums[mid])的项和目标值(target)比较

4.如果中值小于目标值,说明目标值在后半数组,将左指针(left)指向nums[mid+1],若大于同理。如果相等就直接返回

5.如果左指针指向的项的索引大于右指针指向的项的索引,说明已经查找完了也没找到目标值,返回-1

代码如下:

var search = function(nums, target) { ???var l=0,r=nums.length-1; ???while(l<=r){ ???????var mid=parseInt((l+r)/2); ???????if(target===nums[mid]) ????????????return mid; ???????else if(target<nums[mid]) ???????????r=mid-1; ???????else if(target>nums[mid]) ???????????l=mid+1; ???} ???return -1;};

js 二分查找(Binary Search)

原文地址:https://www.cnblogs.com/xingguozhiming/p/9824513.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved