您已经给出了一组间隔,例如{2,7},{3,8},{9,11},{ - 4,-1}等等。问题是从这些区间中找到第k分钟。
此外,重复项计算两次。例如,如果区间为{1,4}且{2,6}且k = 3,则答案为2,因为如果我们展平区间并对它们进行排序合并,那么我们得到序列
1,2,2,3,3,4,4,5,6
第3分钟是3。
可以有很多方法来解决这个问题。但是我很难找到时间/空间复杂度最小的那个。
答案 0 :(得分:3)
k
个元素,
而忽略了重复的值。现在让我们进行一些分析,我们设置N
您的时间间隔中存在的总数的数量,M
数字将包含的重复值的平均数量(将为1)对于一个独特的扁平序列)。
空间复杂性:
O(N)
你可以做得更好,如果你有许多重复元素,通过迭代展平序列,同时丢弃重复元素。
时间复杂度:
O(k * M + NlogN)