Rijkstra的专栏

https://github.com/Ray137076517

【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 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.)

Subscribe to see which companies asked this question

class Solution {
public:
    vector<int> productExceptSelf(vector<int>& nums) {
        vector<int> result;
        int tmp = 1;
        result.push_back(tmp);
        for (vector<int>::const_iterator it = nums.begin(); it != nums.end() - 1; ++it)
        {
            tmp *= (*it);
            result.push_back(tmp);
        }
        tmp = 1;
        vector<int>::iterator it_result = result.end() - 2;
        for (vector<int>::const_iterator it = nums.end() - 1; it != nums.begin(); --it)
        {
            tmp *= (*it);
            (*it_result) *= tmp;
            --it_result;
        }
        
        return result;
    }
};


Personal Note:

遍历nums两次,第一次正序,计算索引i之前各数乘积并存入result,第二次反序,计算索引i之后各数乘积并与之前result相乘,得到最终result

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/C_Ray/article/details/49933917
个人分类: 练习 算法 C++
上一篇【leetcode】Best Time to Buy and Sell Stock II
下一篇【leetcode】Contains Duplicate
想对作者说点什么? 我来说一句

LeetCode Patching Array

2016年04月17日 452B 下载

Maximum Product of Word Lengths

2016年04月16日 710B 下载

Java算法刷题带注释Leetcode

2017年06月19日 142KB 下载

leetcode solution

2018年06月07日 1.15MB 下载

leetcode java解答答案

2015年12月20日 36KB 下载

leetcode java题解

2015年08月10日 54KB 下载

没有更多推荐了,返回首页

关闭
关闭