标签: arrays algorithm
我们得到一个数组,我必须计算数组特定范围内数字频率的乘积,即。 [L,R]。
如何做到?
我的方法:-说[1,2,2,2,45,45,4]。 L = 2且R = 6。答案= 3(频率2)* 2(频率45)= 6。
只需遍历数组(从FROM L到R),然后将每个数字的频率放在映射中即可;最后将所有这些值相乘。在线上进行多个范围查询是否有更好的方法?
我们需要坚持吗?
如果数组的大小为'N'且查询数量为'Q'。我想要比O(N * Q)更好的时间复杂度。