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

16 除了自身以外数组的乘积

给你一个整数数组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]

提示:

  • 2 <= nums.length <= 105

  • -30 <= nums[i] <= 30

  • 输入保证数组answer[i]32 位整数范围内

进阶:你可以在O(1)的额外空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输出数组不被视为额外空间。)

思路

1、记录从左往右连续的乘积,l_nums[i]就等于前i个数的连续乘积(不包含nums[i])。

2、记录从右往左的连续乘积,r_nums[i]就等于后i个数的连续乘积(不包含nums[i])。

3、答案ans[i]=l_nums[i] * r_nums[i]。

class Solution { public: vector<int> productExceptSelf(vector<int>& nums) { int n=nums.size(); if(n<2) return nums; vector<int> ans(n,1); vector<int> l_nums(n,1); vector<int> r_nums(n,1); int _temp=1; for(int i=1;i<n;i++){ l_nums[i]=_temp*nums[i-1]; _temp*=nums[i-1]; } _temp=1; for(int i=n-2;i>=0;i--){ r_nums[i]=_temp*nums[i+1]; _temp*=nums[i+1]; } for(int i=0;i<n;i++){ ans[i]=l_nums[i]*r_nums[i]; } return ans; } };

推荐一个零声教育学习教程,个人觉得老师讲得不错,分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,点击立即学习:链接

http://www.jsqmd.com/news/1359536/

相关文章:

  • LangGraph PostgreSQL持久化检查点:解决Agent状态丢失,实现生产级工作流
  • 从零构建客服快捷回复系统:Vue.js实战与效率提升方案
  • 淘宝淘金币自动化脚本:5分钟解放双手,每日任务全自动完成
  • 从亚军到冠军:青少年科创竞赛智能小车项目稳定性提升实战指南
  • Markdown Viewer:浏览器中查看Markdown文件的终极解决方案
  • ArcGIS 3D Analyst栅格计算器应用与优化指南
  • AI编程陪练助手“陪练dd”:从任务拆解到代码生成的全流程实战解析
  • 如何用BilibiliDown一键下载B站视频?3分钟掌握完整攻略
  • 完全掌握PS4存档管理:Apollo Save Tool核心技术深度解析
  • DDrawCompat:Windows现代系统运行经典游戏的终极兼容解决方案
  • 如何完全免费解锁WeMod高级功能:Wand-Enhancer终极配置指南
  • 如何用AKShare零成本构建你的金融数据系统:Python财经数据接口终极指南
  • C++与Rust安全互操作:FFI/ABI原理与5大实战模式详解
  • 基于STM32的老人健康监测与定位系统设计
  • Dev-C++新手入门:8个经典C++小游戏源码实战解析
  • ESP32音频开发双核架构解析:从I2S解码到多格式音频播放的5大技术突破
  • 开源大模型登顶任务榜:从本地部署到代码生成的实战指南
  • Unity Shader Graph高级噪声逻辑设计:从原理到实战应用
  • 如何快速免费解锁加密音乐文件?Unlock-Music终极指南
  • 如何在现代Windows系统中完美运行经典Flash游戏:CefFlashBrowser完整指南
  • 原来重庆专业校园广播安装,这些门道你都了解吗?
  • Java面试高频考点梳理:从基础到框架一次说清
  • 发卡系统V6.0安全审计:高危漏洞挖掘与防御实践
  • 椰羊cocogoat:5分钟快速上手指南,实现原神圣遗物全自动管理
  • AI文本分析工具部署指南:从NLP模型到影视评论自动化处理
  • 揭秘企业网站建设机构如何帮你在数字时代抢占流量高地
  • 5分钟免费解锁Emby高级功能:终极完整指南
  • RAG系统文本分块策略:从语义分割到评估驱动的工程实践
  • Squirrel-RIFE高级排错指南:从算法原理到性能优化的深度解析
  • 专业级Android USB HID客户端:解锁手机键盘鼠标模拟的终极方案