arrays - 证明所有前缀和都是非负的

标签 arrays algorithm math proof

<分区>

我们有一个包含 n 个整数的数组,其总和为非负数。

我需要证明存在一个索引i,使得从i开始,所有前缀和都是非负的,直到我们再次循环到达i。

假设数组是a1, a2, a3, ..... , a n,这样 a1 + a2 + a3 + ..... + an>=0。

所以我们需要证明对于某个索引i,所有前缀和都是非负的,即
ai>= 0,
ai + ai+1>=0,
ai + ai+1 + ai+2>=0
.
.
ai + ai+1 + ... + an + a1 + ... + ai-1>=0

我需要这个来回答以下问题,https://www.interviewbit.com/problems/gas-station/ .虽然我已经在这个问题的解决方案中使用了上面的说法,但我仍然无法证明它。

最佳答案

假设我们多次重复这个数组,然后构造这个重复数组的前缀和。前缀总和将具有相同的模式,除了每次重复都高出等于数组总和的量。

考虑前缀和最小的索引x。这将发生在前 n 个样本中(如果数组的总和为正)。

如果你从这个位置 x 开始计算前缀和,那么所有后续的前缀和都将是非负的。

关于arrays - 证明所有前缀和都是非负的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37345579/

相关文章:

php - 特定邮政编码 : PHP mysql 附近的用户

java - java中数组初始化时的栈和堆内存

algorithm - 深度优先搜索 : Given a set of letters construct valid words

独立计算总分和每个标准的算法

python - 圆与两条线段的交点未检测到所有交点

c - 使用 atan C 截断 double

javascript - 将 json 对象转换为特定的 json 数组

javascript - mongoDB - 如何在多个文档中查找和排序多个字段并将它们存储在单个数组中?

php - 随机为我网站的每个页面分配一个图像?

algorithm - 计算具有相互依赖关系的递归算法的复杂度