Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 从未排序的列表中查找某个数字的直接大数字和小数字,而不进行排序?_Sorting_Mergesort - Fatal编程技术网

Sorting 从未排序的列表中查找某个数字的直接大数字和小数字,而不进行排序?

Sorting 从未排序的列表中查找某个数字的直接大数字和小数字,而不进行排序?,sorting,mergesort,Sorting,Mergesort,我正在尝试编写一个函数,它将一个数字作为输入,并按排序顺序从未排序的列表中输出上一个和下一个数字。e、 g如果列表为[29,1,49,8],调用函数(8)应返回[1,29] 具有最小平均复杂度的唯一可能解决方案是进行排序,是否有其他方法具有较小的平均复杂度?该列表是随机生成的,固定大小为100,无需排序。 只需通过数组,并保持best_delta_正值和best_delta_负值,以及必要时找到它们的索引。如果列表是[29,22,65,8]而没有delta负值,这会起作用吗?该列表是随机生成的W

我正在尝试编写一个函数,它将一个数字作为输入,并按排序顺序从未排序的列表中输出上一个和下一个数字。e、 g如果列表为[29,1,49,8],调用函数(8)应返回[1,29] 具有最小平均复杂度的唯一可能解决方案是进行排序,是否有其他方法具有较小的平均复杂度?该列表是随机生成的,固定大小为100,无需排序。
只需通过数组,并保持best_delta_正值和best_delta_负值,以及必要时找到它们的索引。

如果列表是[29,22,65,8]而没有delta负值,这会起作用吗?该列表是随机生成的Wesome!,如果没有小于(或大于)请求值的数字,请感谢MalcolmWhat。也就是说,如果您的列表是
[29,1,49,8]
,并且调用的是
函数(50)
?还有,每个列表会有多个函数调用吗?哦!我甚至没有考虑过这种情况,然后我们必须首先检查元素是否存在,然后继续我猜。我假设会有一个函数,但它本身可能调用或不调用函数。有什么建议吗,Jim?