Leetcode238. 除自身以外数组的乘积(java实现)

news2024/11/15 5:43:53

今天分享的题目是letcode238. 除自身以外数组的乘积
先来看题目描述:
在这里插入图片描述
本道题我最先想到的是先乘积所有的元素,然后除以所有元素,但是本题无法使用除法。
本题的解题思路是使用前缀积。
拿nums[]={1,2,3,4};
先遍历前缀积,num[0]的1的前缀积为1,num[1],2的前缀积也是1,num[2],3的前缀积为2…,前缀积的[1,1,2,6];
再计算它的后缀积=[1,4,12,24],将前缀积和后缀积进行相乘即可得到目标数组。
result=[16,24,121,241]=[24,12,8,6];
具体代码实现:

 public int[] productExceptSelf(int[] nums) {
        int arr []=new int[nums.length];
        int arr1 [] =new int[nums.length];
        int pre = 1;
        //计算前缀积
        for (int i = 0; i < nums.length; i++) {
            arr[i]=pre;
            pre=pre*nums[i];
        }
        //计算后缀积
        int last = 1;
        for (int i =nums.length-1;i>=0;i--){
            arr1[i]=last;
            last=last*nums[i];
        }
        //得到目标数组
        for (int i = 0; i < nums.length; i++) {
            arr[i]=arr[i]*arr1[i];
        }


        return arr;

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

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

相关文章

Spring AOP总结

1、AOP&#xff08;Aspect-Oriented Programming&#xff09;&#xff1a;面向切面编程让开发更高效。 工作中经常需要处理日志记录、事物管理、安全控制等跨越多个业务模块的公共逻辑。 它是一种编程的范式。它通过将跨多个业务模块的公共逻辑抽取并封装成独立的模块&#xf…

人工智能大模型综述学习笔记

目录 一、深度学习的局限性和大模型发展背景 二、大模型架构 1、多头自注意力机制 2、Transformer架构 三、常见大模型发展概况 1、语言大模型发展概况 掩码语言模型解释 因果语言模型解释 何时使用什么&#xff1f; 2、视觉-语言大模型 四、大模型的特点 1、大模型…

uni-app项目打包成H5部署到服务器

1. uni-app项目打包成H5部署到服务器 前端使用 uniapp开发项目完成后&#xff0c;需要将页面打包&#xff0c;生成H5的静态文件&#xff0c;部署在服务器上。这样通过服务器链接地址&#xff0c;直接可以在手机上点开来访问。   将项目打包成H5部署到服务器&#xff0c;然后链…

Java中类的构造

1.私有化成员变量。 2.空参构造方法。 3.带全部参数的构造方法。 4.get / set方法。 package demo;public class student{//1.私有化成员变量。//2.空参构造方法。//3.带全部参数的构造方法。//4.get / set方法。private String name;private int age;public student() {}pu…

基于SpringBoot+Vue的多媒体信息共享平台(带1w+文档)

基于SpringBootVue的多媒体信息共享平台(带1w文档) 基于SpringBootVue的多媒体信息共享平台(带1w文档) 随着武理多媒体信息共享平台的不断出现&#xff0c;用户需求不断增多&#xff0c;武理多媒体信息共享平台也不断的得到壮大。该系统主要是满足多方面的需求的实际需要&#…

MySQL案例:MHA实现主备切换(主从架构)万字详解

目录 MHA 概念 MHA的组成 特点 案例介绍 &#xff08;1&#xff09;案例需求 &#xff08;2&#xff09;案例实现思路 &#xff08;3&#xff09;案例拓扑图 &#xff08;4&#xff09;案例环境 案例步骤 基本环境配置 关闭防火墙和内核安全机制 安装数据库 授权…

数据结构——链式结构二叉树

目录 一、二叉树的链式结构 二、手动创建一棵链式二叉树 三、 二叉树的遍历 &#xff08;1&#xff09;前序遍历&#xff08;先序遍历&#xff09; &#xff08;2&#xff09;中序遍历 (3)后序遍历 四、二叉树的有关函数 &#xff08;1&#xff09;头文件 &#xff08;…

【机器学习】逻辑回归的梯度下降以及在一变量数据集、两变量数据集下探索优化的梯度下降算法

引言 在机器学习中&#xff0c;逻辑回归是一种用于二分类问题的方法。它使用逻辑函数&#xff08;也称为sigmoid函数&#xff09;来预测属于某个类别的概率。逻辑回归的损失函数通常是交叉熵损失&#xff0c;用于衡量预测值与真实值之间的差异 文章目录 引言一、逻辑回归的梯度…

电机的伺服调试和pid调节有什么异同?

电机的伺服调试和PID调节在调节控制系统的精度和性能方面都是重要的&#xff0c;但它们有不同的侧重点和方法&#xff1a; 伺服调试 定义&#xff1a;伺服调试是指对伺服系统进行优化和调整&#xff0c;以确保其在控制对象&#xff08;如电机&#xff09;上的表现达到预期。伺…

《LeetCode热题100》---<5.②普通数组篇五道>

本篇博客讲解LeetCode热题100道普通数组篇中的六道题 第三道&#xff1a;轮转数组&#xff08;中等&#xff09; 第四道&#xff1a;除自身以外数组的乘积&#xff08;中等&#xff09; 第三道&#xff1a;轮转数组&#xff08;中等&#xff09; 方法一&#xff1a;使用额外的数…

KubeSphere 部署的 Kubernetes 集群使用 GlusterFS 存储实战入门

转载&#xff1a;KubeSphere 部署的 Kubernetes 集群使用 GlusterFS 存储实战入门 知识点 定级&#xff1a;入门级 GlusterFS 和 Heketi 简介 GlusterFS 安装部署 Heketi 安装部署 Kubernetes 命令行对接 GlusterFS 实战服务器配置(架构1:1复刻小规模生产环境&#xff0c;…

AI助力,轻松组建你的汽车梦之队!

咱汽车销售想增加目标客户&#xff0c;可不简单&#xff01;市场竞争那叫一个激烈&#xff0c;吸引客户注意力太难了&#xff01;不过别怕&#xff0c;咱有办法。我在 ai123.cn 这个平台上&#xff0c;找到了好多适合咱的 AI 工具和资源&#xff0c;这就跟大家分享分享。 比如说…

upload-labs漏洞靶场~文件上传漏洞

寻找测试网站的文件上传的模块&#xff0c;常见&#xff1a;头像上传&#xff0c;修改上传&#xff0c;文件编辑器中文件上传&#xff0c;图片上传、媒体上传等&#xff0c;通过抓包上传恶意的文件进行测试&#xff0c;上传后缀名 asp php aspx 等的动态语言脚本&#xff0c;查…

基于C语言从0开始手撸MQTT协议代码连接标准的MQTT服务器,完成数据上传和命令下发响应(华为云IOT服务器)

文章目录 一、前言二、搭建开发环境三、网络编程基础概念科普3.1 什么是网络编程3.2 TCP 和 UDP协议介绍3.3 TCP通信的实现过程 四、Windows下的网络编程相关API介绍4.1 常用的函数介绍4.2 函数参数介绍4.3 编写代码体验网络编程 五、访问华为云IOT服务器创建一个产品和设备5.2…

STM32ADC

ADC简介&#xff1a;有打moba游戏的别搞混了&#xff0c;这不是射手adc。在32中&#xff0c;ADC的全称为&#xff1a;Analog-to-Digital Converter&#xff0c;指模拟/数字转换器 也就是模拟-数字电路的转换器。其实通俗的来讲&#xff0c;它就是一个电压表。 目录 一.ADC原理…

六、5 TIM输入捕获介绍

1、基本知识介绍 &#xff08;1&#xff09; 注意&#xff1a; ①4个输入捕获和输出比较通道&#xff0c;共用4个CCR寄存器 ②CH1到CH4&#xff0c;四个通道的引脚也是共用的 ③同一个定时器输入捕获和输出比较&#xff0c;不能同时使用 &#xff08;2&#xff09;输入捕获…

4G/5G无线视频采集设备如何通过国标28181接入到视频监控接入平台(视频统一接入平台)

目录 一、国标GB/T 28181介绍 1、国标GB/T28181 2、内容和特点 二、4G/5G无线视频采集设备 1、定义 2、主要功能&#xff1a; 3、技术特点 4、应用场景 二、接入准备工作 1、确定网络环境 &#xff08;1&#xff09;公网接入 &#xff08;2&#xff09;专网传输 2、…

使用 Rough.js 创建动态水平条形图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 使用 Rough.js 创建动态可视化网络图 应用场景 Rough.js 是一个 JavaScript 库&#xff0c;它允许开发人员使用毛边风格创建可视化效果。该库适用于各种应用程序&#xff0c;例如&#xff1a; 数据可视化地图…

【C++11】解锁C++11新纪元:深入探索Lambda表达式的奥秘

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;C11右值引用 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀C11 &#x1f4d2;1. 可变参数模板…

.net # 检查 带有pdf xss

1.解决pdf含javasprct脚本动作&#xff0c;这里是验证pdf内部事件。相关pdf文件下载&#xff1a; 测试pdf文件 相关包 iTextSharp 5.5.13.4 iTextSharp using iTextSharp.text.pdf; using iTextSharp.text.pdf.parser;private Boolean IsPdfSafe(Stream stream){// PdfReader…