二分查找
Posted icyyyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找相关的知识,希望对你有一定的参考价值。
题目:请实现无重复数字的升序数组的二分查找。给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1
思路:
代码:
1 /** 2 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 3 * 4 * 5 * @param nums int整型一维数组 6 * @param target int整型 7 * @return int整型 8 */ 9 function search( nums , target ) { 10 // write code here 11 let left = 0; 12 let right = nums.length - 1; 13 while(left <= right){ 14 let mid = Math.floor(left + (right - left)/2); 15 if(nums[mid] === target){ 16 return mid; 17 }else if(target < nums[mid]){ 18 right = mid -1 ; 19 }else if(target > nums[mid]){ 20 left = mid + 1; 21 } 22 } 23 return -1; 24 } 25 module.exports = { 26 search : search 27 };
以上是关于二分查找的主要内容,如果未能解决你的问题,请参考以下文章