每日算法题 1
题目238.除了自身以外数组的乘积给你一个整数数组 nums返回数组 answer其中 answer[i] 等于 nums 中除了 nums[i] 之外其余各元素的乘积 。题目数据保证数组nums之中任意元素的全部前缀元素和后缀的乘积都在32位 整数范围内。要求请不要使用除法且在 O(n) 时间复杂度内完成此题。进阶版在O(1)的额外空间复杂度内完成这道题示例输入: nums [1,2,3,4]输出: [24,12,8,6]思路大家会第一时间想到先算出所有元素的总乘积再for循环内除以自身就得出除自身外的各元素乘积但是题目要求里面说不能使用除法因此我们要想其他办法在数据结构算法当中最重要的一个思想是分治思想把大问题拆成小问题分别解决再合并结果。因此我们可以根据不算入乘积的元素分成左边乘积和右边乘积最后再将其相乘。因此我们把每个元素的左边乘积统一放在一个left [ ] 数组中右边乘积放在right [ ] 数组中最终只需要用到for循环将其对应的左边乘积和右边乘积相乘。要求返回数组因此相乘之后放入answer[]数组中。这里还想再详细的说一下如何实现每个元素的左边乘积放在数组里面呢很简单就是下标为0的元素左边没有元素因此设left[0]为1下标为1的元素左边只有一个那么设left[1]为left[0]*nums[0]以此类推得到规律为left[i]left[i-1]*nums[i-1];实现代码class Solution { public int[] productExceptSelf(int[] nums) { int lengthnums.length; int[] leftnew int[length]; int[] rightnew int[length]; int[] answernew int[length]; //左边乘积 left[0]1; for(int i1;ilength;i){ left[i]left[i-1]*nums[i-1]; } //右边乘积 right[length-1]1; for(int jlength-2;j0;j--){ right[j]right[j1]*nums[j1]; } //最终乘积 for(int i0;ilength;i){ answer[i]left[i]*right[i]; } return answer; } }小舟有话说针对算法题大家刚开始不会不要紧只要多刷题就行不要着急否定自己哦我后续会一直更新这个算法题请大家多多支持如果觉得喜欢的话关注我下次找我不迷路~

相关新闻

郴州打印复印彩色黑白标书装订哪家值得信赖

郴州打印复印彩色黑白标书装订哪家值得信赖

在郴州,选择一家靠谱的打印复印和标书装订服务公司可不是一件小事。毕竟,一份高质量的标书不仅关系到项目的成败,还能体现公司的专业形象。今天,我们就来聊聊郴州市翼风文化传媒有限公司(以下简称“翼风传媒”&#xf…

2026/7/16 7:36:52 阅读更多 →
产品推荐|八戒光度成像系统全新小型化款来了!

产品推荐|八戒光度成像系统全新小型化款来了!

东莞市沃德普自动化科技有限公司 www.wordop.com 沃德普八戒光度成像系统全新小型化款来了!专为紧凑工位、定制化项目打造,在保留核心性能的同时,缩减体积,解决大尺寸设备的布局难题。 产品特点: 体积虽缩减&#xf…

2026/7/15 0:57:33 阅读更多 →
2026年胰岛素泵市场盘点:哪款专业品牌更胜一筹?

2026年胰岛素泵市场盘点:哪款专业品牌更胜一筹?

随着糖尿病患者的增多,胰岛素泵作为一种先进的糖尿病管理工具,越来越受到人们的关注。在2026年,胰岛素泵市场呈现出激烈的竞争态势,众多品牌纷纷推出各自的产品。本文将为您盘点全球及国内胰岛素泵市场,并分析哪款专业…

2026/7/15 8:14:23 阅读更多 →

最新新闻

PCB设计工程师核心技能与学习路径:从入门到进阶

PCB设计工程师核心技能与学习路径:从入门到进阶

这次我们来聊聊PCB设计工程师这个岗位到底需要掌握哪些技能,哪些内容可以暂时放一放。对于刚入行的工程师来说,最头疼的就是不知道学习重点在哪里,担心学了一堆用不上的东西,反而错过了核心技能。PCB设计工程师主要负责电路板的设…

2026/7/16 5:44:33 阅读更多 →
SR-71项目级AI编程助手:从代码补全到深度架构分析

SR-71项目级AI编程助手:从代码补全到深度架构分析

如果你是一名开发者,最近在关注AI编程助手领域,可能会发现一个有趣的现象:虽然市面上已经有不少AI编程工具,但真正能理解复杂项目上下文、进行深度代码分析和架构设计的工具却不多。今天要介绍的SR-71项目,就像它的名字…

2026/7/16 5:42:32 阅读更多 →
Visual Assist X 深度赋能 VS2019:从安装到高效编码的完整指南

Visual Assist X 深度赋能 VS2019:从安装到高效编码的完整指南

1. Visual Assist X 简介与核心价值Visual Assist X(简称VA_X)是Visual Studio生态中备受推崇的代码辅助插件,尤其适合处理C/C#等复杂语言项目。我在使用VS2019开发Unreal Engine项目时,深刻体会到它如何将原本需要数小时的代码导…

2026/7/16 5:40:31 阅读更多 →
Unity 2023安装本质:Hub调度、模块化构建与URP默认管线解析

Unity 2023安装本质:Hub调度、模块化构建与URP默认管线解析

1. 项目概述:这不是“又一个安装教程”,而是Unity开发者绕不开的首道关卡Unity 2023不是某个孤立版本,它是Unity引擎演进路线中承上启下的关键节点——它首次将Universal Render Pipeline(URP)正式设为新建2D/3D项目的…

2026/7/16 5:38:30 阅读更多 →
基于micro:bit的语音控制智能小车开发指南

基于micro:bit的语音控制智能小车开发指南

1. 项目背景与核心功能这个项目将语音识别套件与micro:bit开发板结合,打造一个能通过语音指令控制的智能小车。这种组合在教育领域特别有价值,因为它能让学生同时学习硬件编程、语音识别和机器人控制三个关键技术点。语音识别小车的基本工作原理是&#…

2026/7/16 5:38:30 阅读更多 →
电网侧 EMS 全维度剖析:能量优化原理、多级架构与并网控制方案

电网侧 EMS 全维度剖析:能量优化原理、多级架构与并网控制方案

引言:电网侧能量管理系统(EMS)的角色演进 在“双碳”目标与新型电力系统建设的双重驱动下,电网正经历着从“源随荷动”到“源网荷储”协同互动的深刻变革。作为电网运行控制的“智慧大脑”,电网侧能量管理系统&#xf…

2026/7/16 5:36:29 阅读更多 →

日新闻

HarmonyOs应用《重要日》开发第6篇 - 数据持久化存储

HarmonyOs应用《重要日》开发第6篇 - 数据持久化存储

本篇深入剖析 ImportantDays 项目的数据持久化方案——基于 HarmonyOS ArkData 模块的 Preferences 轻量级存储,以及 PreferenceUtil 工具类的单例封装。一、HarmonyOS 数据存储方案对比 HarmonyOS 提供了多种数据存储方案:方案适用场景特点Preferences轻…

2026/7/16 0:08:27 阅读更多 →
Python实现跨境电商商品图批量翻译教程

Python实现跨境电商商品图批量翻译教程

一、问题引入做跨境电商的卖家朋友,你是否遇到过这样的困扰?每次上架新品到亚马逊、Shopee或Lazada等平台,都需要处理大量商品图片的多语言版本。比如上架200款衣服,每款需要翻译成英语、日语、韩语等5种语言,这意味着…

2026/7/16 0:08:27 阅读更多 →
鸿蒙 7 新特性实战①:从 0 到 1 掌握 @kit 标准导入规范

鸿蒙 7 新特性实战①:从 0 到 1 掌握 @kit 标准导入规范

从鸿蒙 7(HarmonyOS NEXT)开始,官方全面完成了从 ohos.* 零散模块到 kit.* 领域套件的体系重构。对开发者来说,第一道门槛不是 API 用法变化,而是统一的导入规范——旧体系默认导入、解构导入混用的混乱局面被彻底终结…

2026/7/16 0:10:29 阅读更多 →

周新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/15 21:09:01 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/15 19:42:20 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/15 17:52:08 阅读更多 →

月新闻