我必须找到给定数组的轴心。请告诉我这个实现有什么问题。它总是返回-1。
int leftsum(int *nums, int index)
{
int lsum=0;
for(int i=0;i<index;i++)
lsum += nums[i];
return lsum;
}
int rightsum(int *nums, int index,int numsSize)
{
int rsum=0;
for(int i=index+1;i<=numsSize;i++)
rsum += nums[i];
return rsum;
}
int pivotIndex(int* nums, int numsSize)
{
for (int i=1;i<numsSize;i++)
{
if(leftsum(nums,i) == rightsum(nums,i,numsSize))
return i;
}
return -1;
}
这是开始学习调试的好机会。
int rightsum(int *nums, int index,int numsSize) {
int rsum=0;
for(int i=index+1;i<=numsSize;i++)
rsum += nums[i];
return rsum; }
这里for循环的条件应该是i<numsSize
而不是 i<=numsSize
我是一名优秀的程序员,十分优秀!