自学内容网 自学内容网

C语言 | Leetcode C语言题解之第238题除自身以外的数组的乘积

题目:

题解:

// 数组中除自身以外元素的乘积
int* productExceptSelf(int* nums, int numsSize, int* returnSize) {
    static int ra[100000];  // 结果数组
    for (int i = 0; i < numsSize; i++) {
        ra[i] = 1;  // 初始化结果数组为1
    }

    int pre = 1, suf = 1;  // 前缀和后缀乘积初始化为1
    for (int i = 1; i < numsSize; i++) {
        pre *= nums[i - 1];  // 计算前缀乘积
        suf *= nums[numsSize - i];  // 计算后缀乘积
        ra[i] *= pre;  // 更新结果数组
        ra[numsSize - i - 1] *= suf;  // 更新结果数组
    }
    *returnSize = numsSize;  // 设置返回数组大小
    return ra;  // 返回结果数组
}

原文地址:https://blog.csdn.net/m0_59237910/article/details/140456089

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!