C语言
int pivotIndex(int* nums, int numsSize){
int i;
int dpl = 0;
int dpr = 0;
if (numsSize == 0)
return -1;
if (numsSize == 1)
return 0;
for (i = 1; i < numsSize; i++) {
dpr += nums[i];
}
for (i = 0; i < numsSize; i++) {
if (dpl == dpr)
return i;
if (i == (numsSize-1)) //防止越界读操作
break;
dpl += nums[i];
dpr -= nums[i+1];
}
return -1;
}
解题思路
1.动态规划的方式考虑,每移动中心坐标,两端的和的变化;