我必须找到给定数组的枢轴。请告诉我这个实现有什么问题。它始终返回 -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