寻找数组的中心下标
给你一个整数数组 nums ,请计算数组的 中心下标 。
数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。
如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。
如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。
思路:就根据题意为了找中心下标就从左到右一个一个尝试假设第i个元素是中心元素那么分别算它的左边元素和以及右边元素和再比较是否相等。
#include<iostream>
using namespace std;
int midindex(int num[],int n);
int main()
{
int a[]={1, 7, 3, 6, 5, 6};
cout << midindex(a,6);
return 0;
}
int midindex(int num[],int n)
{
int lsum,rsum;
for(int i=0;i<n;i++)
{
lsum=0;
rsum=0;
if(i!=0)
for(int j=0;j<i;j++)
lsum+=num[j];
if(i!=n-1)
for(int k=i+1;k<n;k++)
rsum+=num[k];
if(rsum==lsum)
return i;
}
return -1;
}