238. Product of Array Except Self

栏目: Java · 发布时间: 6年前

内容简介:Given an array nums of n integers where n > 1, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].Example:Note: Please solve it without division and in O(n).

Given an array nums of n integers where n > 1, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].

Example:

Input:  [1,2,3,4]
Output: [24,12,8,6]

Note: Please solve it without division and in O(n).

Follow up:

Could you solve it with constant space complexity? (The output array does not count as extra space for the purpose of space complexity analysis.)

难度: medium

题目:给定一整数组其长度大于1, 返回输出数组其元素由除当前输入元素外所有元素的乘积组成。

思路:先用输出数组从右向左计算累积元素的乘积,然后从左向左计算nums[i] = product(0, i-1) * result(i + 1)

Runtime: 1 ms, faster than 100.00% of Java online submissions for Product of Array Except Self.

Memory Usage: 40.8 MB, less than 84.97% of Java online submissions for Product of Array Except Self.

class Solution {
    public int[] productExceptSelf(int[] nums) {
        if (null == nums || nums.length < 2) {
            return new int[] {1};
        }
        int n = nums.length;
        int[] result = new int[n];
        int product = 1;
        for (int i = n - 1; i >= 0; i--) {
            result[i] = product * nums[i];
            product = result[i];
        }
        
        result[0] = result[1];
        product = nums[0];
        for (int i = 1; i < n - 1; i++) {
            result[i] = product * result[i + 1];
            product *= nums[i];
        }
        result[n - 1] = product;
        
        return result;
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

产品型社群

产品型社群

李善友 / 机械工业出版社 / 2015-3-1 / CNY 69.00

传统模式企业正在直面一场空前的“降维战争”, 结局惨烈,或生或死。 传统模式很难避免悲惨下场, 诺基亚等昔日庞然大物轰然倒塌, 柯达发明了数码成像技术却依然破产, 新商业的兴起到底遵循的是什么模式? 微信轻而易举干掉了运营商的短信业务, “好未来”为何让传统教育不明觉厉? 花间堂为什么不是酒店,而是入口? 将来不会有互联网企业与传统企业之分, ......一起来看看 《产品型社群》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具