Нахождение стержня программы Array- C
Я должен найти стержень данного массива. Пожалуйста, скажите мне, что не так с этой реализацией. Всегда возвращает -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;
}
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; }
Здесь условие для цикла должно быть i<numsSize
и не i<=numsSize