🌗 238. 除自身以外数组的乘积

吞佛童子2022年10月10日
  • algorithm
  • Array
  • Number
小于 1 分钟

🌗 238. 除自身以外数组的乘积

难度: 🌗

问题描述

img_5.png


解法

class Solution {
    public int[] productExceptSelf(int[] nums) {
        // 思路:
        // 从左到右,求前缀乘积
        // 从右到左,求前缀乘积
        int len = nums.length;
        int[] res = new int[len];
        int left = 1;
        res[0] = 1;
        for(int i = 1; i < len; i ++) {
            left *= nums[i - 1];
            res[i] = left;
        }
        // System.out.println(Arrays.toString(res));
        int right = 1;
        for(int i = len - 2; i >= 0; i --) {
            right *= nums[i + 1];
            res[i] *= right;
        }
        return res;
    }
}

输出

img_4.png

上次编辑于: 2022/10/10 下午8:43:48
贡献者: liuxianzhishou