參考資訊:
https://www.cnblogs.com/grandyang/p/4650187.html
題目:
解答:
int* productExceptSelf(int* nums, int numsSize, int* returnSize) { int r = 0; int cc = 0; int *frd = malloc(sizeof(int) * numsSize); int *bkd = malloc(sizeof(int) * numsSize); frd[0] = 1; for (cc = 0; cc < (numsSize - 1); cc++) { frd[cc + 1] = frd[cc] * nums[cc]; } bkd[numsSize - 1] = 1; for (cc = numsSize - 1; cc > 0; cc--) { bkd[cc - 1] = bkd[cc] * nums[cc]; } *returnSize = numsSize; for (cc = 0; cc < numsSize; cc++) { nums[cc] = frd[cc] * bkd[cc]; } free(frd); free(bkd); return nums; }