解题思路:
(1)dp[i]记录values从起始位置0到当前位置[i]的和
(2)再重新遍历,寻找满足公式的下标
int find_even_index(const int *values, int length) {
int *dp = calloc(length,sizeof(int));
int sum = 0;
for(int i=0;i<length;i++) {
sum+=values[i];
dp[i] = sum;
}
for(int i=0;i<length;i++) {
if (dp[i]-values[i]==dp[length-1]-dp[i]) return i;
}
return -1;
}