当前位置: 首页 > news >正文

除自身以外数组的相乘 C++

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

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

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

示例 1:

输入: nums = [1,2,3,4]
输出: [24,12,8,6]

示例 2:

输入: nums = [-1,1,0,-3,3]
输出: [0,0,9,0,0]
class Solution {
public:vector<int> productExceptSelf(vector<int>& nums) {int length = nums.size();vector<int> answer(length);// answer[i] 表示索引 i 左侧所有元素的乘积// 因为索引为 '0' 的元素左侧没有元素, 所以 answer[0] = 1answer[0] = 1;for (int i = 1; i < length; i++) {answer[i] = nums[i - 1] * answer[i - 1];}// R 为右侧所有元素的乘积// 刚开始右边没有元素,所以 R = 1int R = 1;for (int i = length - 1; i >= 0; i--) {// 对于索引 i,左边的乘积为 answer[i],右边的乘积为 Ranswer[i] = answer[i] * R;// R 需要包含右边所有的乘积,所以计算下一个结果时需要将当前值乘到 R 上R *= nums[i];}return answer;}
};

http://www.lryc.cn/news/415821.html

相关文章:

  • Element UI 如何配置文件来设置全局的语言选项。
  • Windows 常用命令集锦
  • 第一阶段面试问题(后半部分)
  • 【AIGC】ComfyUI入门-使用ComfyUI_MagicClothing插件在生成图片时候出现的问题
  • 巴黎奥运会8K转播科技为国产品牌自主研发设计
  • 【Material-UI】Button 组件中的图标和标签按钮(Buttons with Icons and Label)详解
  • K个一组翻转链表(LeetCode)
  • 2-56 基于matlab的图像融合增强技术
  • 序列化定义以及使用和注意事项
  • 吴恩达机器学习COURSE1 WEEK3
  • 白骑士的PyCharm教学高级篇 3.1 性能分析与优化
  • swiper横向轮播(阶梯式滚动轮播)未生效
  • 基于arcpro3.0.2的北斗网格生成简介
  • 网络流算法:最大流问题
  • C++从入门到入土(四)--日期类的实现
  • 【香橙派系列教程】(七)香橙派下的Python3安装
  • 贝叶斯优化算法(Bo)与门控循环单元(GRU)结合的预测模型(Bo-GRU)及其Python和MATLAB实现
  • 人工智能时代,程序员当如何保持核心竞争力?
  • LMDrive 端到端闭环自动驾驶框架
  • P2045 方格取数加强版
  • 【Bigdata】OLAP的衡量标准
  • 关于DDOS攻击趋势及防护措施
  • Apache Flink:一个开源流处理框架
  • Nginx 学习笔记
  • 软甲测试定义和分类
  • Vue 3+Vite+Eectron从入门到实战系列之(二)一Elementplus及VueRouter的配置
  • STL-list
  • 2024 7.29~8.4 周报
  • 随身助手271个可用api接口网站php源码(随身助手API)
  • 珠江电缆,顺应全球变化,实现高质量出海