Leetcode 除自身以外数组的乘积

在这里插入图片描述

class Solution {public int[] productExceptSelf(int[] nums) {int length = nums.length;//一维数组 answer[]存储最终的结果//首先从左往右记录乘积,暂时存储到一维数组 answer[] 中int[] answer = new int[length];//先从左往右, 由于由于第一个元素左边没有元素,所以需要初始化 answer[0] = 1answer[0] = 1;for(int i = 1; i < length; i++) { //i从1开始遍历是因为answer[0]已经被固定为1了// i 位置上左边所有元素的乘积如何而来?// answer[i]代表 i 左侧所有元素的乘积(乘到nums[i-1]), //那么 answer[i - 1] 是 i-1 左侧所有元素的乘积(乘到nums[i-2]),//再乘以nums[i - 1]就得到answer[i]answer[i] = nums[i - 1] * answer[i - 1]; }//此时answer[i] 存储的是 i 之前所有元素的乘积//然后我们更新右侧乘积, R 代表不同元素右侧所有元素的乘积值int R = 1; //(i = length - 1)时 i 右侧所有元素的乘积值 R, 也是 R 的初始值for(int i = length - 1; i >= 0; i--) { //为什么是i>=0而不是i>0?//此时 answer[i] 代表 i 左侧所有元素的乘积, 乘以 i 右侧所有元素的乘积值 R 得到结果//此时 R 代表 nums[i + 1] 连乘到 nums[length - 1](i=length - 1时除外)answer[i] = answer[i] * R; //更新 R, 相当于 R 往左前进一步, 进入下一次循环前 i 会减 1, 相当于 answer 数组左退一步。R = R * nums[i]; // 此时 R 才代表 nums[i] 连乘到 nums[length - 1] }return answer;}
}

关于这一部分的代码,为什么循环中的终止判断条件是i >= 0,当设置i > 0会得到错误的结果。

int R = 1;
for (int i = length - 1; i >= 0; i--) {// Multiply answer[i] (product of elements to the left) by R (product of elements to the right)answer[i] = answer[i] * R;// Update R to include nums[i]R *= nums[i];
}
  • i >= 0 是必须的,因为数组的第一个元素(nums[0])同样需要乘上右侧的乘积。
  • 如果终止条件设置为 i > 0,那么 i = 0 的位置就没有被处理,从而导致错误结果。

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

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

相关文章

【漏洞复现】灵当CRM multipleUpload.php接口处存在文件上传漏洞

》》》产品描述《《《 灵当CRM致力于为企业提供客户管理数字化、销售管理自动化、服务管理智能化、项目管理一体化的个性化CRM行业解决方案,构建全生命周期的数字化管理体系,实现可持续的业绩增长! 》》》漏洞描述《《《 灵当CRM系统接口multipleUpload.php文件上传漏洞&#x…

艺术家刘欢近况时隔5年再登《歌手》舞台,国家级嗓音引发热议

在我国&#xff0c;有这样一位艺术家&#xff0c;他自上世纪80年代至今&#xff0c;用一首首脍炙人口的歌曲和他那独特的嗓音陪伴数代人成长。凭借音乐上的造诣和天赋&#xff0c;他被众多网友誉为“音乐教父”&#xff1b;攀登至领域巅峰时&#xff0c;他不忘提携后辈&#xf…

通俗易懂的Latex使用步骤

目录 Latex的安装和基本框架 TeX Live和TeXstudio的安装 Latex基本框架 标题 目录 列表 字体设置 图片 单张图片 多张图片&#xff08;以两张图片为例&#xff09;&#xff1a; 多张图片&#xff08;以三张图片为例&#xff09;&#xff1a; 公式 公式复制神器: …

高性能计算应用优化实践之WRF

WRF&#xff08;Weather Research Forecast&#xff09;模式是由美国国家大气研究中心&#xff08;NCAR&#xff09;、国家环境预报中心&#xff08;NCEP&#xff09;等机构自1997年起联合开发的新一代高分辨率中尺度天气研究预报模式&#xff0c;重点解决分辨率为1&#xff5e…

jinaai/jina-embeddings-v2-base-zh向量模型报错解决

报错信息 OSError: We couldn’t connect to ‘https://huggingface.co’ to load this file, couldn’t find it in the cached files and it looks like jinaai/jina-bert-implementation is not the path to a directory containing a file named configuration_bert.py. 报…

智能新宠:BabyAlpha A2开启家庭机器人新时代

具身智能领域的“疯狂”&#xff0c;已经迈入了全新的阶段&#xff01;让我们一起来看看这段视频&#xff1a;一个人形机器人在前面奔跑&#xff0c;一群机器狗紧随其后&#xff1b;接着是人追赶机器狗&#xff0c;随后机器狗又追逐人……视频最后&#xff0c;那个机器人似乎还…

2025台球展,2025河南台球及配套设施展览会3月举办

阳春三月&#xff0c;年度招商季&#xff0c;壹肆柒中国国际台球产业博览会助力全国台球企业拓市场&#xff1b; 2025中国&#xff08;郑州&#xff09;国际台球产业博览会&#xff08;壹肆柒台球展&#xff09; The 2025 China (Zhengzhou) International Billiards Industry…

Uncaught TypeError: (intermediate value).globEager is not a function

在运行代码的时候console提示报错 Uncaught TypeError: (intermediate value).globEager is not a function 解决方案&#xff1a; 在小程序源码搜索globEager&#xff0c;找到对应的文件&#xff0c;把文件中的globEager 替换成glob&#xff0c;下面贴一下源码替换例子&…

Splashtop 在2024年 CybersecAsia 读者之选奖项评选中荣获新星奖

2024年9月26日 新加坡 安全远程访问和支持解决方案领域的领先企业 Splashtop 在第五届 CybersecAsia 读者之选奖项评选中荣获新星奖。该奖项的评选人员包括首席信息安全官、技术领袖和网络安全从业者&#xff0c;旨在表彰亚太地区网络安全领袖在行业中发挥的关键作用、取得的创…

【算法系列-数组】移除元素 (双指针)

【算法系列-数组】移除元素 (双指针) 文章目录 【算法系列-数组】移除元素 (双指针)1. 算法分析&#x1f6f8;2. 删除有序数组中的重复性(LeetCode 26)2.1 解题思路&#x1f3af;2.2 解题过程&#x1f3ac;2.3 代码举例&#x1f330; 3. 移动零(LeetCode 283)3.1 解题思路&…

VSCode rust文件中的api点击无法跳转问题

如果配置了vscode的setting.json windows端的话 "settings": { "typescript.tsc.autoDetect": "off","rust-analyzer.linkedProjects": [".\\gui-btn\\Cargo.toml",".\\temp\\Cargo.toml", ],其他端类似 能不…

C++(9.25)

stack: #include <iostream> using namespace std; class my_stack { private:int* data; // 动态数组&#xff0c;用于存储栈的元素int len; // 当前栈中元素的个数int size; // 栈的最大容量public:// 默认构造函数&#xff0c;初始化容量为 10my_st…

解决input密码框选择浏览器提供的“已保存账户”密码,白色背景色无法去除问题

在新版浏览器&#xff08;我用的edge&#xff09;中&#xff0c;点击聚焦input密码框&#xff0c;会弹出浏览器提供“已保存账户”快捷选中密码&#xff0c;选中之后&#xff0c;input框会变成白色背景。如果你整体背景色是深色的&#xff0c;就会显得突兀。设置input的backgro…

产品推介——SOP4 随机相位可控硅光耦KLM305X

产品描述Product Description KLM305X 系列由一个砷化镓红外发光二极管和一个单晶硅芯片的随机相位光电双向晶闸管组成的可控硅光电耦合器&#xff0c;它被设计用于连接电子控制和功率双向可控硅开关&#xff0c;以控制115至240VAC工作电压下的电阻和感应负载。 功能图Functi…

C++进阶—>这3个问题难道搞不懂多态???

文章目录 &#x1f6a9;前言1、它是什么&#xff1f;2、怎样实现它&#xff1f;&#xff1f;2.1、虚函数是个什么来头&#xff1f;✍2.2、虚函数的重写/覆盖特殊点&#xff01;&#x1f440;2.3、在了解多态的必要条件以及虚函数后&#xff0c;来看下如何编写吧&#x1f440;&a…

【计算机方向】中科院二区TOP神刊!国人发文友好,刊文量高,录用容易!

期刊解析 &#x1f6a9;本 期 期 刊 看 点 &#x1f6a9; 中科院二区TOP期刊&#xff01; 审稿友好&#xff0c;IF4.8&#xff0c;自引率6.2% 最新年度发文530。 今天小编带来计算机领域SCI快刊的解读&#xff01; 如有相关领域作者有意投稿&#xff0c;可作为重点关注&am…

SpringBoot日志集成-LogBack

Log4J&#xff1a;最早的Java日志框架之一&#xff0c;由Apache基金会发起&#xff0c;提供灵活而强大的日志记录机制JDK自带的日志框架&#xff1a;java.util.logging.Logg&#xff0c;是JDK1.4之后提供的日志API&#xff0c;已淘汰logback&#xff1a; logback一个开源的日志…

Java ERP管理系统源码解析:微服务架构实践Spring Cloud Alibaba与Spring Boot

在当今数字化浪潮的推动下&#xff0c;企业对于高效、稳定且易于扩展的管理系统需求日益增长。为了满足这一需求&#xff0c;我们精心打造了一款基于Java技术的鸿鹄ERP&#xff08;Enterprise Resource Planning&#xff09;管理系统。该系统充分利用了Spring Cloud Alibaba、S…

猫头虎 分享已解决Bug: || Module not found: Can‘t resolve ‘react‘ 解决方案

&#x1f42f;猫头虎 分享已解决Bug&#xff1a; || Module not found: Cant resolve react 解决方案 摘要: 今天猫头虎带大家解决一个常见的前端问题&#xff0c;尤其是在 React 项目中&#xff0c;很多开发者在安装依赖包时&#xff0c;遇到过 Module not found: Cant resol…

2024年9月第4周AI资讯

阅读时间&#xff1a;3-4min 更新时间&#xff1a;2024.9.23-2024.9.27 目录 o1 处于OpenAI的AGI5阶段的第2阶段 微软使用核燃料推动AI发展 阿里巴巴和英伟达在自动驾驶方向合作 Meta 推出 AR xAI 眼镜、新型号 o1 处于OpenAI的AGI5阶段的第2阶段 概要 OpenAI 首席执行官 …