/*
find the balance index of an array where balanced index i is defined as the one whose left sum is equal to the right sum of the index .
*/
#include <cstdio>
int findBalanceIdx(int* a, int n)
{
int sum = 0;
for(int i = 0; i < n; i++)
sum += a[i];
int leftSum = 0;
for(int i = 0; i < n; i++)
{
sum -= a[i];
if(leftSum == sum)
return i;
leftSum += a[i];
}
return -1;
};
int main()
{
int a[] = {-7, 1, 5, 2, -4, 3, 0};
int res = findBalanceIdx(a, 7);
return 0;
}找到数组平衡索引使得左半部分等于右半部分
最新推荐文章于 2021-12-05 23:28:10 发布
10万+

被折叠的 条评论
为什么被折叠?



