【发布时间】:2012-11-01 13:33:14
【问题描述】:
我有一个小算法问题。例如,我有一个数组。
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 和数组中所有条目的总和之间
谢谢
【问题讨论】:
-
您不会获得用于槽计算或项目插入的摊销恒定时间。据我所知。您希望能够做到吗?
标签: c++ arrays algorithm search