列表1 [1,3]
列表2 [2]
l1和l2([1,2,3])之间的中位数= 2
我的解决方案是基本上像合并排序那样合并数组...
两个指针i和j并基于哪个较小或如果一个到达末尾仅插入另一个...停止在中间插入并返回最近访问的值或最大(最近+下一个)/ 2如果组合列表的长度为ard
有人可以对此解释运行时吗?以及可能的O(log(m + n))运行时间算法的简要说明
编辑:可能的O(log(m + n))包括使用二进制搜索插入将第二个列表的所有元素插入第一个列表,然后从创建的列表返回平均值吗?
edit2:您将使用二进制搜索插入功能将较小列表中的所有项目插入较大列表中,因此它将为O(log(min(m,n))
edit3:尽管我不太确定如何实现将一个列表中的项目插入另一个列表中
非常感谢您对我的帮助...尝试学习面试