编辑
2024-03-25
面试题
00
请注意,本文编写于 166 天前,最后修改于 75 天前,其中某些信息可能已经过时。

今日问题:如何实现二分查找?

Q:如果在前端面试中,被问到如何实现二分查找,如果回答比较好,给出必要的代码示例

A:当被问到如何实现二分查找时,你可以首先解释二分查找的基本原理和步骤,然后给出相应的代码示例。下面是一个简单的 JavaScript 示例:

js
function binarySearch(arr, target) { let left = 0; let right = arr.length - 1; while (left <= right) { let mid = Math.floor((left + right) / 2); // 如果找到目标值,则返回其索引 if (arr[mid] === target) { return mid; } else if (arr[mid] < target) { // 如果目标值比中间值大,则在右半部分继续搜索 left = mid + 1; } else { // 如果目标值比中间值小,则在左半部分继续搜索 right = mid - 1; } } // 如果数组中不存在目标值,则返回 -1 return -1; } // 示例用法 const array = [1, 3, 5, 7, 9, 11, 13, 15]; const target = 7; const resultIndex = binarySearch(array, target); console.log(`目标值 ${target} 在数组中的索引是:${resultIndex}`);

在这个示例中,binarySearch 函数接受一个已排序的数组 arr 和一个目标值 target 作为参数。它使用一个 while 循环来不断缩小搜索范围,直到找到目标值或者确定它不存在为止。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:CreatorRay

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!