【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 238: Product of Array Except Self

leetcode 238: Product of Array Except Self python, c++ java
  • xudli
  • xudli
  • 2015年07月16日 14:40
  • 10718

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 equal ...
  • sunao2002002
  • sunao2002002
  • 2015年07月27日 18:51
  • 2595

leetcode:238. Product of Array Except Self(Java)解答

转载请注明出处:z_zhaojun的博客 原文地址 题目地址 Product of Array Except SelfGiven an array of n integers where n ...
  • u012975705
  • u012975705
  • 2016年03月05日 14:14
  • 1386

leetcode 【238 Product of Array Except Self】【Python】

本题给定一个数组,要求我们返回一个同等大小的数组,其中每个output[i]的值是除了nums中i位置的其他数字的乘积。第一想法是除法,但是不可以用啦 第二想法是两次循环,当然时间复杂度也是太高 ...
  • u014251967
  • u014251967
  • 2016年09月06日 18:07
  • 341

[LeetCode]Product of Array Except Self,解题报告

题目Given an array of n integers where n > 1, nums, return an array output such that output[i] is equa...
  • zinss26914
  • zinss26914
  • 2015年07月17日 10:20
  • 10859

LeetCode238Product of Array Except Self

先上题目:题目大意:给一数组。返回一数组,这个数组对应原数组除了对应数其他数的乘积和。注意为额外的O(n)空间技巧:题目中已经明确把最容易想到的求所有数乘积,然后分别除每一个数的简单做法给否定了,因为...
  • a1054513777
  • a1054513777
  • 2016年09月23日 22:02
  • 187

【LintCode】Product of Array Exclude Itself 数组剔除元素后的乘积

给定一个整数数组A。 定义B[i] = A[0] * … * A[i-1] * A[i+1] * … * A[n-1], 计算B的时候请不要使用除法。样例 给出A=[1, 2, 3],返回 B为[...
  • wutingyehe
  • wutingyehe
  • 2015年07月15日 12:04
  • 645

238. Product of Array Except Self

解法一: public class Solution { public int[] productExceptSelf(int[] nums) { int product=1,z...
  • cgfankai
  • cgfankai
  • 2016年02月24日 10:09
  • 73

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 ...
  • Leafage_M
  • Leafage_M
  • 2018年01月05日 16:08
  • 89

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...
  • alwaystry
  • alwaystry
  • 2016年08月28日 15:45
  • 180
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Leet Code】238. Product of Array Except Self---Medium
举报原因:
原因补充:

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