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

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

文章目录

  • 题目介绍
  • 题解
    • 优化

题目介绍

在这里插入图片描述

题解

在这里插入图片描述

代码如下:

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

优化

先计算 suf,然后一边计算 pre,一边把 pre 直接乘到 suf[i] 中。最后返回 suf

class Solution {public int[] productExceptSelf(int[] nums) {int n = nums.length;int[] suf = new int[n];suf[n - 1] = 1;for (int i = n - 2; i >= 0; i--) {suf[i] = suf[i + 1] * nums[i + 1];}int pre = 1;for (int i = 0; i < n; i++) {// 此时 pre 为 nums[0] 到 nums[i-1] 的乘积,直接乘到 suf[i] 中suf[i] *= pre;pre *= nums[i];}return suf;}
}

相关文章:

  • 【TI MSP430与SD NAND:心电监测的长续航解决方案】
  • Oracle 中 SHRINK 与 MOVE 操作的比较
  • 第二十九天打卡
  • 分布式锁(详解)
  • ISO 26262-5 生产维护和报废
  • MQTT控制报文
  • 初学c语言18(自定义类型:结构体)
  • 硬件开发复盘实战指南
  • DiagramJS设计原理解读(二)
  • MVC和MVVM架构的区别
  • PyInstaller 如何在mac电脑上生成在window上可执行的exe文件
  • 项目开发中如何Git如何保持官方补丁更新
  • python与mysql怎么完成大量的数据交互?
  • 【Python/Tkinter】实现程序菜单
  • 海康相机---采集图像
  • PTA:双端队列
  • 【T2I】Controllable Generation with Text-to-ImageDiffusion Models: A Survey
  • 中小制造企业网络安全防护指南
  • 2025网络出版服务许可证申请保姆级教程
  • JavaScriptAPIs学习day3--事件高级
  • 网站设计书籍/网址网域ip地址查询
  • 网站建设平台选用/教程推广优化网站排名
  • 施工企业资质等级划分/处理器优化软件
  • 报价网站制作/培训机构
  • 有什么网站可以做设计赚钱吗/百度学术论文官网入口
  • 网站系统管理计划/广州网络运营课程培训班