【发布时间】:2014-01-11 16:33:43
【问题描述】:
给定一个包含 t 个整数的数组,我们需要回答 x 个查询。每个查询描述一个起始索引和一个结束索引,我们需要打印子数组中的排序元素。
例如-
数组={16,9,10,19,2}
对于查询 1 3 ,答案将是
9 10 16
对于查询 2 5,答案将是
2 9 10 19
请提出最佳解决方案?是否涉及任何高级数据结构?
元素个数最多可达 10^5。
【问题讨论】:
-
所有需要的算法都在标准库中实现,即
std::vector和std::sort。您可以轻松找到两者的参考资料。这些是否允许使用?如果是这样,那就很简单了。 -
这里是排序后的数组,
2, 9, 10, 16, 19。查询一:9, 10, 16有道理。查询二没有 -
你可以对数组进行排序吗?
-
@user3092832 请在问题中包含您的解决方案想法和附加要求。还有
n的查询数量是更低还是更高?查询的长度是多少? -
@user3092832:这是需要在问题中提出的那种要求,我并不是说 20 分钟后我们都已经花时间写答案给你。
标签: c++ algorithm sorting data-structures