给出一个带有重复的无序数字列表,以及另一个带有索引的数字列表。找到在给定索引处按排序顺序显示的数字。
我们只应考虑输入直到当前index
数组的索引点。
如果我们正在考虑2
数组中的元素index
,则应在输入数组3 7 9 10
中查找第二个排序元素
I/P => 3 7 9 10 1 2
Index => 1 1 3 2 5 1
The output should be
3 3 9 7 10 1
例如Index数组中的元素5
将具有与1 3 7 9 10
相对应的排序输入数组,因此第5个元素是10
我的解决方案是使用multiset,然后使用advance
在集合中找到第n个索引。
For i : [1 : len(I/P)]
set.add(I/P[i])
advance(I/P, Index[i])
print
但是问题已经解决,不支持随机访问,advance
降级为线性时间。
如何在N Log(n)