不LIKE, 不想多研究Orz 下一題!
bool canThreePartsEqualSum(int* arr, int arrSize) {
int *preSum = calloc(arrSize, sizeof(int));
preSum[0]= arr[0];
for (int i=1; i<arrSize; i++)
preSum[i]= preSum[i-1]+arr[i];
int sum = preSum[arrSize-1];
if (sum%3 != 0)
return false;
int target = sum/3;
for (int i=0; i<arrSize; i++)
{
if (preSum[i]== target)
{
for (int j=i+1;j<arrSize-1;j++)
if (preSum[j]== target*2)
return true;
}
}
return false;
}
沒有留言:
張貼留言