C++ | Leetcode C++题解之第238题除自身以外数组的乘积

题目:

题解:

class Solution {
public:
    vector<int> productExceptSelf(vector<int>& 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;
    }
};

相关推荐

  1. 【Leetcode】238.自身以外乘积

    2024-07-17 06:54:01       66 阅读
  2. 【力扣】238. 自身以外乘积

    2024-07-17 06:54:01       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 06:54:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 06:54:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 06:54:01       58 阅读
  4. Python语言-面向对象

    2024-07-17 06:54:01       69 阅读

热门阅读

  1. 2407-mysql笔记

    2024-07-17 06:54:01       19 阅读
  2. opencv—常用函数学习_“干货“_10

    2024-07-17 06:54:01       32 阅读
  3. Windows图形界面(GUI)-DLG-C/C++ - 静态控件(Static)

    2024-07-17 06:54:01       26 阅读
  4. 掌握Core Data:Xcode中的数据管理利器

    2024-07-17 06:54:01       27 阅读
  5. CMD命令fc(File Compare)

    2024-07-17 06:54:01       26 阅读
  6. Linux下安装PostgreSQL.16.3

    2024-07-17 06:54:01       22 阅读
  7. Android 桌面小组件使用

    2024-07-17 06:54:01       23 阅读
  8. 英语语法第二课之简单句

    2024-07-17 06:54:01       21 阅读
  9. 【云原生网络CNI】容器网络接口CNI的使用和管理

    2024-07-17 06:54:01       27 阅读