LeetCode-题目整理【6】:除自身以外数组的乘积

  1. 除自身以外数组的乘积
    给你一个整数数组 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]
//使用了前缀积和后缀积的思想func productExceptSelf(nums []int) []int {n := len(nums)left := make([]int, n)right := make([]int, n)answer := make([]int, n)left[0] = 1for i := 1; i < n; i++ {left[i] = left[i-1] * nums[i-1]}right[n-1] = 1for i := n - 2; i >= 0; i-- {right[i] = right[i+1] * nums[i+1]}for i := 0; i < n; i++ {answer[i] = left[i] * right[i]}return answer
}// 可以通过构建两个辅助数组来解决,以达到 O(n) 的时间复杂度。// 算法步骤如下:// 初始化两个辅助数组 left 和 right,长度和原始数组 nums 相同。将 left[0] 和 right[n-1] 分别设为 1。
// 遍历原始数组 nums,从左到右计算 left 数组,其中 left[i] 表示 nums[i] 左侧所有元素的乘积。
// left[i] = left[i-1] * nums[i-1]
// 遍历原始数组 nums,从右到左计算 right 数组,其中 right[i] 表示 nums[i] 右侧所有元素的乘积。
// right[i] = right[i+1] * nums[i+1]
// 遍历原始数组 nums,对于每个元素 nums[i],将 answer[i] 的值计算为 left[i] * right[i]。
// 返回最终的答案数组 answer。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/640892.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自然语言处理的发展

自然语言处理的发展 自然语言处理&#xff08;NLP&#xff09;是人工智能领域中一门研究如何使计算机理解和生成人类语言的学科。近年来&#xff0c;随着深度学习和大数据技术的突破&#xff0c;NLP 取得了显著的进步&#xff0c;为许多领域带来了革命性的变革。 一、技术进步…

《WebKit 技术内幕》学习之九(2): JavaScript引擎

2 V8引擎 2.1 基础 V8是一个开源项目&#xff0c;也是一个JavaScript引擎的实现。它最开始是由一些语言方面的专家设计出来的&#xff0c;后被Google收购&#xff0c;成为了JavaScript引擎和众多相关技术的引领者。其目的很简单&#xff0c;就是为了提高性能。因为在当时之前…

问题解决:django模型查询报错,找不到数据库表

django项目&#xff0c;使用的postgresql数据库&#xff0c;建了多个模式&#xff0c;模型查询时一直默认查public的表 1. 问题&#xff1a; django.db.utils.ProgrammingError: relation "ip_management_app.table" does not exist 2. 代码&#xff1a; class …

【Java编码】Java原生实现上传下载文件

Java实现上传下载文件 一、上传源码 /*** 1. 上传*/private void upload(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {try {// 1. 创建工厂对象FileItemFactory factory new DiskFileItemFactory();// 2. 文件上传核心…

【学习】focal loss 损失函数

focal loss用于解决正负样本的不均衡情况 通常我们需要预测的正样本要少于负样本&#xff0c;正负样本分布不均衡会带来什么影响&#xff1f;主要是两个方面。 样本不均衡的话&#xff0c;训练是低效不充分的。因为困难的正样本数量较少&#xff0c;大部分时间都在学习没有用…

Linux学习记录——사십사 高级IO(5)--- Epoll型服务器(2)(Reactor)

文章目录 1、完善Epoll简单服务器2、打造统一的分开处理的体系3、epoll工作模式4、ET模式5、继续完善&#xff0c;处理写事件6、引入自定义协议&#xff0c;处理写事件 本篇基于上篇代码继续改进&#xff0c;很长。关于Reactor的说明在后一篇 1、完善Epoll简单服务器 上面的代…

216. 组合总和 III - 力扣(LeetCode)

题目描述 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。 输入示例 k 3, n 7输出示例 [[1,2,…

深入理解Kubernetes探针和.NET服务健康检查机制

前言 随着越来越多的软件采用云原生和微服务架构&#xff0c;我们面临着更多的技术挑战&#xff0c;比如&#xff1a; Kubernetes如何在容器服务异常终止、死锁等情况下&#xff0c;发现并自动重启服务&#xff1b;当服务依赖的关键服务&#xff08;例如数据库&#xff0c;Red…

【2024-01-22】某极验3流程分析-滑块验证码

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、抓包流程分析1.刷新页面2.点击按钮进行验证3.滑动验证码三、图片还原四、w值①u值②l值③h值④l中的o值aa参…

Dockerfile-xxxx

1、Dockerfile-server FROM openjdk:8-jdk-alpine WORKDIR /app COPY . . CMD java -Xms1536M -Xmx1536M -XX:UseG1GC -jar -Dlog4j2.formatMsgNoLookupstrue -Dloader.pathresources,lib -Duser.timezoneGMT-05 /app/server-main-1.0.0.jar 2、Dockerfile-bgd #FROM openjdk…

8. UE5 RPG创建UI(上)

UI是显示角色的一部分属性玩家可以直接查看的界面&#xff0c;通过直观的形式在屏幕上显示角色的各种信息。如何使用一种可扩展&#xff0c;可维护的形式来制作&#xff0c;这不得不说到耳熟能详的MVC架构。 MVC&#xff08;Model-View-Controller&#xff09;是一种常见的软件…

如何在Linux上部署Nexus私服

如何在Linux上部署Nexus私服 Nexus 是一个强大的仓库管理解决方案&#xff0c;由Sonatype公司开发。它主要用于软件开发中各种依赖包和构件的存储、管理和分发。 1、为什么要部署nexus&#xff1f; 统一管理依赖&#xff1a;在软件开发过程中&#xff0c;项目通常会依赖大量的…

[Linux 杂货铺] —— 权限(文件权限和目录配置)

目录 &#x1f308;前言 &#x1f4c1; 文件的属性 &#x1f4c1; 权限的概念 &#x1f4c2;拥有者和所属组&#xff08;角色&#xff09;&#xff1a; &#x1f4c2;用户&#xff08;具体的人&#xff09;&#xff1a; &#x1f4c1; 权限的管理 &#x1f4c2;1. chmod…

如何让亚马逊,速卖通,美客多店铺排名和流量稳定爬升

一、关键词优化 关键词是亚马逊店铺排名的关键。通过合理的关键词优化&#xff0c;可以提高店铺的曝光率。卖家需要研究消费者的搜索习惯和行为&#xff0c;了解他们使用哪些关键词进行搜索&#xff0c;然后将这些关键词用于商品描述、标题和元数据中。此外&#xff0c;还可以…

免费可用的ChatGPT替代方案

最近ChatGPT又不好访问了&#xff0c;整理了一些可以替代的方案&#xff0c;测了下可以使用&#xff0c;按照自己的喜好选择。 国外可用的GPT Poe - Fast, Helpful AI Chat - 它提供了对GPT-4、gpt-3.5-turbo、Anthropic的Claude以及其他多种机器人的访问权限。HuggingChat -…

Linux - 安装字体库解决乱码问题

文章目录 问题描述步骤资源 问题描述 该安装方法&#xff0c;不区分中文和英文字体 Java在linux上转word文档为pdf&#xff0c; linux的字体缺失&#xff0c;导致了转出的pdf为乱码。 ● Linux将word转为pdf后出现乱码&#xff1f; ● 在linux上将word转为pdf 是乱码 ● 在lin…

第一篇【传奇开心果短博文系列】Python的库OpenCV技术点案例示例:cv2常用功能和方法

传奇开心果短博文系列 短博文系列目录Python的库OpenCV技术点案例示例系列 短博文目录一、前言二、常用功能和方法示例三、归纳总结 短博文系列目录 Python的库OpenCV技术点案例示例系列 短博文目录 一、前言 cv2是Python中常用的第三方库&#xff0c;也称为OpenCV库&#…

在全志H616核桃派上实现USB摄像头的OpenCV颜色检测

在给核桃派开发板用OpenCV读取图像并显示到pyqt5的窗口上并加入颜色检测功能&#xff0c;尝试将图像中所有蓝色的东西都用一个框标记出来。 颜色检测核心api 按照惯例&#xff0c;先要介绍一下opencv中常用的hsv像素格式。颜色还是那个颜色&#xff0c;只是描述颜色用的参数变…

uniapp PDF文件预览/打开

兼容微信小程序/h5/ios/android 在微信小程序环境下需要配置pdf域名 pdfPreview(url){var title 预览uni.showLoading({ title: 加载中, mask: true })//由于android 下webview无法直接打开pdf&#xff0c;需要先下载uni.getSystemInfo({success: res > {console.log(res.p…

【C语言编程之旅 7】刷题篇-函数

第1题 解析 A&#xff1a;错误&#xff0c;一个函数只能返回一个结果 B&#xff1a;正确&#xff0c;将形参存在数组中&#xff0c;修改数组中内容&#xff0c;可以通过数组将修改结果带出去 C&#xff1a;正确&#xff0c;形参如果用指针&#xff0c;最终指向的是外部的实参…