美文网首页算法代码
出自身以外数组的乘积

出自身以外数组的乘积

作者: windUtterance | 来源:发表于2020-09-09 18:57 被阅读0次

题目描述
给你一个长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。

示例
输入: [1,2,3,4]
输出: [24,12,8,6]

Java代码

class Solution {
    public int[] productExceptSelf(int[] nums) {
        int[] res = new int[nums.length];
        int k = 1;
        for(int i = 0;i < res.length;i++) {
            res[i] = k;
            k = k * nums[i]; //此时数组存储的是除去当前元素左边的元素乘积
        }
        k = 1;
        for(int i = res.length - 1;i >= 0;i--) {
            res[i] *= k; //k为该数右边的乘积
            k *= nums[i]; //此时数组等于左边的乘以该数右边的
        }
        return res;
    }
}

相关文章

网友评论

    本文标题:出自身以外数组的乘积

    本文链接:https://www.haomeiwen.com/subject/hypqjktx.html