小编Jan*_*lec的帖子

算法 - 查找数组的起始索引,使元素之和保持> = 0

我被告知这可以在O(n)中完成 - 时间和O(n)用于内存使用.

作为输入,我会查看一个intigers列表(数量为n - 从一开始就可用).

任务是找到最低的索引(从左侧开始),使我能够通过数组(从起始索引到起始元素后面的索引做一个圆圈),这样变量总和 - 总结所有途中的元素永远不会低于0.

*此数组中的所有元素总和为0.

例如:1,-1,-3,3,4,-4

  1. 1 - 1 - 3 = -2 <0不是那一个
  2. -1 <0
  3. -3 <0
  4. 3 + 4 - 4 + 1 - 1 - 3 = 0

是好的因为7> 0,3> 0,4> 0,3> 0,0 = 0 :)

我现在这样做的方式是我进入一个for循环n次,里面我有两个for循环:一个用于i-> end index而另一个用于0-> i-1索引.

这有效,但速度太慢,任何想法都赞赏.(所有基于语言的程序性能改进都不够)

algorithm

7
推荐指数
1
解决办法
155
查看次数

标签 统计

algorithm ×1