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

【LeetCode】【算法】238. 除自身以外数组的乘积

LeetCode 238. 除自身以外数组的乘积

题目描述

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。
题目数据保证数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位整数范围内。
请不要使用除法,且在 O(n) 时间复杂度内完成此题。

思路

思路:考虑一个上下三角矩阵,下三角矩阵是计算元素左侧的乘积,上三角矩阵计算元素右侧的乘积,我们可以简化在一个一维数组里面去求解。
在这里插入图片描述

第一步:第一次遍历一维数组,求每个元素左侧元素的乘积
第二步:第二次遍历一维数组,求每个元素右侧元素的乘积(相当于第一步倒过来),并将这个乘积乘到第一步的结果上,就是除自身以外的数组乘积了

代码

class Solution {public int[] productExceptSelf(int[] nums) {int[] results = new int[nums.length];results[0] = 1;for (int i = 1; i < nums.length; i++) {results[i] = results[i - 1] * nums[i - 1];}int tmp = 1;for (int i = nums.length - 2; i >= 0; i--) {tmp *= nums[i + 1];results[i] *= tmp;}return results;}
}

http://www.mrgr.cn/news/67317.html

相关文章:

  • 制作一个3D建模只需10秒:腾讯发布3D开源模型“混元3D”
  • Flink SQL
  • 『VUE』19. scope避免组件之间样式互相覆盖(详细图文注释)
  • 《MySQL 8 DBA基础教程》第一章习题
  • MySQL 8.0的Public Key Retrival问题解决
  • 配置文件格式(xml、properties、yml/yaml)
  • Star Tower:开启数据存储新纪元
  • 运动控制 PID算法
  • 掌握 PyQt5:从零开始的桌面应用开发
  • Kubernetes 服务发现:Service、DNS 深度解析
  • 迷你版VFB,极简的Freebasic开发IDE-VB7-vb6编程开发
  • Java——异常
  • 【709】基于SSM+vue的“萌宠小知识”网站设计与实现
  • 3254. 长度为 K 的子数组的能量值 I
  • STM32F103 单片机
  • 初识Mysql数据库
  • Appium环境搭建/使用教程(图文超详细)
  • 高并发内存池扩展 -- 处理大内存,优化释放时需要传入空间大小,加入定长内存池,存放映射关系的容器的锁机制,优化性能(基数树,优势,优化前后对比)
  • Cesium中granularity关键字引起的连锁知识
  • 【系统架构设计师】高分论文:论企业集成平合的技术与应用
  • C语言-详细讲解-洛谷P1075 [NOIP2012 普及组] 质因数分解
  • Cookie技术详解:互联网中的“记忆”使者
  • Jenkins应用详解(Detailed Explanation of Jenkins Application)
  • 使用Golang实现开发中常用的【实例设计模式】
  • 秒杀系统设计:原则、关键技术与注意事项
  • ROS2humble版本使用colcon构建包