【Leet Code】238. Product of Array Except Self---Medium

原创 2015年11月18日 16:14:27

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

Solve it without division and in O(n).

For example, given [1,2,3,4], return [24,12,8,6].

Follow up:

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

思路:

此题目有一个很简单的解法:将所有的元素相乘得到值total,然后对结果数组求值的时候只需要用total除以原数组中对应的元素,但是题目规定不允许用除法,所以需要另寻他法。

两次遍历数组,第一次将前面相乘的结果存入结果数组中,然后第二次再将后面相乘的值与前面相乘的结果相乘并存入最终的结果数组中。

代码实现:

class Solution {
public:
    vector<int> productExceptSelf(vector<int>& nums) {
        vector<int> res(nums.size(), 1);

        for(int i = 1; i < nums.size(); ++i)
            res[i] = res[i-1] * nums[i-1];
        
        int temp = nums.back();
        for(int i = nums.size()-2; i >= 0; --i)
        {
           res[i] = res[i] * temp;
           temp *= nums[i];
        }
            
            
        return res;
        
    }
};


<LeetCode OJ> 238. Product of Array Except Self

238. Product of Array Except Self My Submissions Question Total Accepted: 31438 Total Submission...

LeetCode笔记:238. Product of Array Except Self

计算除了该元素以外所有元素的乘积

LeetCode-238. Product of Array Except Self (JAVA)(构建乘积数组)

LeetCode-238. Product of Array Except Self (JAVA)(构建乘积数组) 剑指offer

Leetcode_238_Product of Array Except Self

本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/48598939 Given an array of...

LeetCode- 238. Product of Array Except Self

Problem: Given an array of n integers where n > 1, nums, return an array output such that outpu...

[LC238] Product of Array Except Self

238. Product of Array Except Self Given an array of n integers where n > 1, nums, return an array ...

238. Product of Array Except Self

Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal ...

Leetcode 238 Product of Array Except Self

题目: Given an array of n integers where n > 1, nums, return an array output such that output[i] is ...

LeetCode 238. Product of Array Except Self 题解(C++)

LeetCode 238. Product of Array Except Self 题解(C++)题目描述 Given an array of n integers where n > 1, num...

LeetCode 238. Product of Array Except Self 解题报告

LeetCode 238. Product of Array Except Self 解题报告
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Leet Code】238. Product of Array Except Self---Medium
举报原因:
原因补充:

(最多只允许输入30个字)