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)!