算法设计:
(1)求出数组总的元素之和Sum
(2)从下标为0开始累积和HalfSum,当Sum等于2*HalfSum+当前下标元素时,则找到中心下标。
(3)未找到下标,返回-1
算法实现:
int PivotIndex(int[] Arr)
{
int Sum = 0;//数组总元素和
foreach (var num in Arr)
{
Sum += num;
}
int HalfSum = 0;//除开下标数组一半元素和
for (int i = 0; i < Arr.Length; i++)
{
if (Sum - Arr[i] == 2 * HalfSum) return i;//Sum = HalfSum * 2 + Arr[i]时找到下标
HalfSum += Arr[i];
}
return -1;
}