当前位置: 首页 > 面试题库 >

给一个数,去一个已经排好序的数组中寻找这个数的位置(通过快速查找,二分查找)?

狄玮
2023-03-14
本文向大家介绍给一个数,去一个已经排好序的数组中寻找这个数的位置(通过快速查找,二分查找)?相关面试题,主要包含被问及给一个数,去一个已经排好序的数组中寻找这个数的位置(通过快速查找,二分查找)?时的应答技巧和注意事项,需要的朋友参考一下
function binarySearch(target,arr,start,end) {
var start   = start || 0;
var end     = end || arr.length-1;
var mid = parseInt(start+(end-start)/2);
if(target==arr[mid]){
return mid;
}else if(target>arr[mid]){
return binarySearch(target,arr,mid+1,end);
}else{
return binarySearch(target,arr,start,mid-1);
}
return -1;
 类似资料:
  • 求一个未排序数组的中值,我们可以对n个元素做O(nlogn)时间的min-heap,然后我们可以逐个抽取n/2个元素得到中值。但是这种方法需要O(nlogn)时间。 我们能在O(n)时间内通过某种方法做同样的事情吗?如果可以,那么请告诉或建议一些方法。

  • 我对mongo很陌生,我正在尝试用两个查询从收集中获取所有数据,我有条目,每个条目都有startdate。我需要得到所有的数据,首先所有项目的开始日期低于当前日期排序的DESC和跟随其余数据的开始日期大于或等于当前日期排序的asc。我不知道该怎么做。很抱歉我的英语不好,我是新手。 我在下一条路上试过这样做 但如果可能的话,我想通过一个查询来实现

  • 问题内容: 我有两个numpy数组A和B。A包含唯一值,而B是A的子数组。 例如: 问题答案: 您可以使用带有- 如果您关心维护订单,也可以使用- 对于一般情况,当&是未排序的数组时,您可以在中引入选项,就像这样- 为了解决一般情况,我还会添加我最喜欢的内容- 样品运行-

  • 本文向大家介绍寻找一数组中前K个最大的数相关面试题,主要包含被问及寻找一数组中前K个最大的数时的应答技巧和注意事项,需要的朋友参考一下 考察点:数组    

  • 本文向大家介绍用Python实现一个二分查找的函数。相关面试题,主要包含被问及用Python实现一个二分查找的函数。时的应答技巧和注意事项,需要的朋友参考一下 二分查找算法:简单的说,就是将一个列表先排序好,比如按照从小到大的顺序排列好,当给定一个数据,比如3,查找3在列表中的位置时,可以先找到列表中间的数li[middle]和3进行比较,当它比3小时,那么3一定是在列表的右边,反之,则3在列表的

  • 问题内容: 给定一个字节数组,我如何在其中找到(较小)字节数组的位置? 使用,该文档看起来很有希望,但是如果我正确的话,那只会让我在要搜索的数组中找到一个单独的字节。 (我认为这并不重要,但以防万一:有时搜索字节数组将是常规的ASCII字符,有时是控制字符或扩展的ASCII字符。因此使用String操作并不总是合适的) 大数组可能在10到10000个字节之间,而小数组大约在10个字节。在某些情况下