热门

最新

红包

立Flag

投票

同城

我的

发布
weixin_45889110
遥闻浮海梦幽幽
4 年前
trueweixin_45889110

最近在力扣刷题,人差点没了!!!
【例题】给你一个整数数组 nums,请编写一个能够返回数组 “中心下标” 的方法。

数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。

如果数组不存在中心下标,返回 -1 。如果数组有多个中心下标,应该返回最靠近左边的那一个。

这里我用的是C语言写的
int pivotIndex(int* nums, int numsSize){
int left=0,lig=0,sum=0;
int i=0;
float fen;
for(i=0;i<numsSize;i++)//计算数组总和
{
sum=sum+nums[i];
}

for(i=0;i<numsSize;i++)
{
if(i==0)//中心点下标为零时
{
left=0;
lig=sum-nums[i];
if(left==lig)return i;

}
else if(i==numsSize-1)//中心点下标为零时
{
left=sum-nums[numsSize-1];
lig=0;
if(left==lig)return numsSize-1;

}
else
{
left+=nums[i-1];
lig=sum-left-nums[i];
if(left==lig)return i;

}

}
return -1;

}

链接:
https://leetcode-cn.com/leetbook/read/array-and-string/yf47s/
来源:力扣(LeetCode)

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
终于明白文件系统是什么样子的了
立即登录