【C++】每日一题,238 除自身以外数组的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。

题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。

请 不要使用除法,且在 O(n) 时间复杂度内完成此题。

int n = nums.size();
    std::vector<int> answer(n, 1); // 初始化 answer 数组为全 1

    // 计算每个元素左边所有元素的乘积
    int leftProduct = 1;
    for (int i = 0; i < n; ++i) {
        answer[i] *= leftProduct; // 记录左边所有元素的乘积
        leftProduct *= nums[i]; // 更新左边所有元素的乘积
    }

    // 计算每个元素右边所有元素的乘积,并乘以左边所有元素的乘积
    int rightProduct = 1;
    for (int i = n - 1; i >= 0; --i) {
        answer[i] *= rightProduct; // 乘以右边所有元素的乘积
        rightProduct *= nums[i]; // 更新右边所有元素的乘积
    }

    return answer;

时间复杂度为 O(n),其中 n 是输入数组 nums 的长度。代码中包含两次遍历数组 nums,每次遍历都需要线性时间完成,因此总的时间复杂度为 O(n)。

空间复杂度为 O(1),除了返回的答案数组之外,代码只使用了常数个额外变量(leftProduct、rightProduct 等),所需的额外空间与输入数组的规模无关,因此空间复杂度为 O(1)。

相关推荐

  1. C++】每日238 自身以外乘积

    2024-03-27 03:56:02       36 阅读
  2. 【Leetcode】238.自身以外乘积

    2024-03-27 03:56:02       68 阅读
  3. 【力扣】238. 自身以外乘积

    2024-03-27 03:56:02       40 阅读

最近更新

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

    2024-03-27 03:56:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 03:56:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 03:56:02       82 阅读
  4. Python语言-面向对象

    2024-03-27 03:56:02       91 阅读

热门阅读

  1. [蓝桥杯 2019 省 B] 特别数的和

    2024-03-27 03:56:02       37 阅读
  2. StringRedisTemplate Autowired注入为空解决

    2024-03-27 03:56:02       37 阅读
  3. 20240325 大模型快讯

    2024-03-27 03:56:02       38 阅读
  4. ARM与X86架构的简单剖析与未来展望

    2024-03-27 03:56:02       37 阅读
  5. QT day5

    QT day5

    2024-03-27 03:56:02      32 阅读
  6. C++学习-2

    2024-03-27 03:56:02       34 阅读
  7. AI大模型学习的伦理与社会影响

    2024-03-27 03:56:02       40 阅读
  8. Flutter 获取系统是否是暗黑模式的方式

    2024-03-27 03:56:02       38 阅读
  9. OSI七层模型讲解

    2024-03-27 03:56:02       37 阅读
  10. linux内核网络分析 用户空间工具 “每日读书”

    2024-03-27 03:56:02       42 阅读
  11. C/C++ 设置Socket的IP_TOS选项

    2024-03-27 03:56:02       39 阅读
  12. LeetCode 93. 复原 IP 地址

    2024-03-27 03:56:02       40 阅读