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

力扣面试150题打卡第五天

题目链接:238. 除自身以外数组的乘积 - 力扣(LeetCode)

一 题目概述:

该题目需要实现的是,返回一个数组(answer),这个数组 answer[i] 等于题目给出的数组 nums 中除 nums[i] 之外其余各元素的乘积 。(本题要求不能使用除法)

二实现思路

2.1错误想法

题目说不能用除法,实际上不说也不可用除法,可能有人会想先计算出所有数字的乘积,然后,在除于当前这个位置的数字即可,但是这个位置如果为0呢,这就回导致错误

2.2正确思路

另外设计两个数组,大小和nums一样大,Right[]和Left[],Rignt[]记录当前位置右侧的数字的乘积,Left[]记录当前位置左数字的乘积

两个遍历结束之后,求当前位置,除了当前位置所有数字的乘积,就变成了Right[],Left[],两个数组对应位置的乘积

时间复杂度和空间复杂度都是O(n)

三代码如下

class Solution {public int[] productExceptSelf(int[] nums) {int len = nums.length;int answer[] = new int[len];//构造两个数组,一个表示该位置右侧的所有数字的乘积//另一个表示该位置左侧所有数字的乘积int Right[] = new int [len];int Left[] = new int[len];//这里要做一个初始化,不要乘积全为0,同理Right也要做初始化Left[0] = 1;for(int i=1;i<len;i++){Left[i] = Left[i-1]*nums[i-1];}//同理初始化Right[len-1] = 1;for(int i=len-2;i>=0;i--){Right[i] = Right[i+1]*nums[i+1];}//将结果转化为两个数组对应位置的乘积for(int i=0;i<len;i++){answer[i] = Right[i]*Left[i];}return answer;}
}

四 优化

下面的优化可以将空间复杂度降到O(1)

代码如下

主要变化就是没有构造两个其他数组,用一个数字Right来代表该位置右侧的乘积

class Solution {public int[] productExceptSelf(int[] nums) {int len = nums.length;int answer[] = new int[len];answer[0]=1;for(int i=1;i<len;i++){answer[i] = answer[i-1]*nums[i-1];}//这里right代表了右侧数字的乘积int Right = 1;for(int i=len-1;i>=0;i--){answer[i] = answer[i]*Right;Right*=nums[i];}return answer;}
}

http://www.dtcms.com/a/606994.html

相关文章:

  • 做a货包好的网站专门做办公的网站
  • Common Go Mistakes(Ⅲ 控制结构)
  • vs建设网站营销的方法和技巧
  • 用vs2010做网站并连数据库2021ppt模板免费下载 素材
  • 【2025 最新】 Maven 下载安装与配置教程(超详细带图文Windows 版):从入门到实战
  • 做瞹视频网站哪里看志鸿优化设计官网
  • 南宁网站建设怎么样封开网站建设
  • 易语言exe反编译器 | 高效破解和安全分析工具
  • 智能决策系统落地后如何进行数据集成与安全保障?
  • 企业备案网站可以做论坛吗西安有哪些网站
  • 网站程序超市做网站怎样才能接单
  • 第三章 下一代防火墙通用原理
  • 57_AI智能体运维部署之实战指南:安装Docker Desktop的完整过程
  • 河南经天路桥建设总公司网站网站首页的名字通常是
  • 在上海做网站招商局网站建设管理总结
  • OpenAI GPT-5.1正式发布:智商情商双突破,开启AI交互新时代
  • 无需联网也能跨设备转写!CapsWriter+cpolar 实现隐私级语音协作
  • 建立网站考虑的三大要素安阳网站建设商祺
  • 辽宁专业模板网站建设公司工信和信息化网站备案系统
  • 高端网站设计哪个好商机创业网
  • 河源做网站优化线上平面设计培训班
  • 从概念到实践:解锁 CrewAI 多智能体协作的强大潜能
  • wordpress后台模板位置益阳seo网站建设
  • 灵台县住房和城乡建设局网站谷歌外贸平台有哪些
  • 公司门户网站建设方案网站可以做砍价软件吗
  • qq推广网站北京公司网站设计价格
  • 如何使用图片素材快速生成一个卡片类型的博客页面:从需求到实现的完整指南
  • 网站建设的工作wordpress适配熊掌号
  • 网站开发和合同范本二维码设计软件
  • 关于网站关停的申请企业网站怎么扣费的