Leetcode:找出数组中的中心索引
概要
- 中心索引指的是该中心索引左边的所有值的和等于中心索引右边所有值的和,若无该索引,则返回-1。
- 例如:
- 目标数组:[1,2,3,5,6]
- 输出:3(这个指的是索引不是值,即为num[3])
- 解释:5 左边的值相加为6等于右边的值6.
C语言题解
/*
@nums:数组
@numsSize:数组长度
*/
int pivotIndex(int* nums,int numsSize){
int sum=0,i=0,left=0;
// 计算出数组的总和
for(i=0;i<numsSize;i++){
sum+=nums[i];
};
//寻找中心索引
for(i=0;i<numsSize;i++){
//若左边和右边的和相同
if(left == sum - nums[i] - left){
return i;
}
//否则就加入left
left += nums[i];
};
//无返回值,说明无中心索引
return -1;
}