给定一个数组A和m个查询,每个查询是整数T
对于每个查询,请找到索引i和j,使得
| (|sum of elements from i to j| - T) |
最小值
其中|x|是绝对值符号,数组中可能包含负数。
我在面试中被问到了这个问题。我有一个解决方案,可以找到所有可能的和并存储它们的索引并排序。
所以可能有n*n个和。
这将需要O(n* n* log(n*n))的时间。
现在对于每个查询二分查找T。这将需要O(m* log(n*n))的时间。
但他要求进行优化。我没有通过面试。
有人能给出提示吗?