我有一个小算法问题。例如,我有一个数组。
array[10] = {23,54,10,63,52,36,41,7,20,22};
现在给定一个输入数字,例如 189,我想知道它应该位于哪个插槽中。例如,此输入应位于数组中的 4 个索引中,因为
23+54+10+63 = 150 and if we add 52 then sum will be 202 which will cover the range where 189 should lie. so the answer should be 4.
我想找到一个摊销的常数时间算法,可能在第一步中我们对数组进行一些预处理,以便我们可以在常数时间内获得所有下一个查询。
输入数字将始终介于 1 和数组中所有条目的总和之间
谢谢