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;
}