238 除自身以外数组的乘积 左右乘积数组

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了238 除自身以外数组的乘积 左右乘积数组脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

238 除自身以外数组的乘积  左右乘积数组

 

 

 

算法

初始化两个空数组 L 和 R。对于给定索引 i,L[i] 代表的是 i 左侧所有数字的乘积,R[i] 代表的是 i 右侧所有数字的乘积。
我们需要用两个循环来填充 L 和 R 数组的值。对于数组 L,L[0] 应该1,因为第一个元素的左边没有元素。对于其他元素:L[i] = L[i-1] * nums[i-1]。
同理,对于数组 R,R[length-1] 应为 1。length 指的是输入数组的大小。其他元素:R[i] = R[i+1] * nums[i+1]。
当 R 和 L 数组填充完成,我们只需要在输入数组上迭代,且索引 i 处的值为:L[i] * R[i]。

作者:LeetCode-Solution
链接:https://leetcode-cn.COM/PRoblems/product-of-array-except-self/solution/chu-zi-shen-yi-wai-shu-zu-de-cheng-ji-by-leetcode-/
:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
class Solution {
public:
    vector<int> productExceptSelf(vector<int>&amp; nums) {
        int length = nums.size();

        // L 和 R 分别表示左右两侧的乘积列表
        vector<int> L(length, 0), R(length, 0);

        vector<int> answer(length);

        // L[i] 为索引 i 左侧所有元素的乘积
        // 对于索引为 '0' 的元素,因为左侧没有元素,所以 L[0] = 1
        L[0] = 1;
        for (int i = 1; i < length; i++) {
            L[i] = nums[i - 1] * L[i - 1];
        }

        // R[i] 为索引 i 右侧所有元素的乘积
        // 对于索引为 'length-1' 的元素,因为右侧没有元素,所以 R[length-1] = 1
        R[length - 1] = 1;
        for (int i = length - 2; i >= 0; i--) {
            R[i] = nums[i + 1] * R[i + 1];
        }

        // 对于索引 i,除 nums[i] 之外其余各元素的乘积就是左侧所有元素的乘积乘以右侧所有元素的乘积
        for (int i = 0; i < length; i++) {
            answer[i] = L[i] * R[i];
        }

        return answer;
    }
};

 

TRANSLATE wITh 238 除自身以外数组的乘积  左右乘积数组 x
English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole PErsian  
238 除自身以外数组的乘积  左右乘积数组
238 除自身以外数组的乘积  左右乘积数组 238 除自身以外数组的乘积  左右乘积数组 238 除自身以外数组的乘积  左右乘积数组
 
TRANSLATE with 238 除自身以外数组的乘积  左右乘积数组
COPY THE URL BELOW
238 除自身以外数组的乘积  左右乘积数组
238 除自身以外数组的乘积  左右乘积数组 Back
EMBED THE SNIPPET BELOW IN YOUR SITE 238 除自身以外数组的乘积  左右乘积数组
Enable collaborative features and customize widget: Bing Webmaster Portal
Back

脚本宝典总结

以上是脚本宝典为你收集整理的238 除自身以外数组的乘积 左右乘积数组全部内容,希望文章能够帮你解决238 除自身以外数组的乘积 左右乘积数组所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。