LeetCode—238. 除自身以外数组的乘积

238. 除自身以外数组的乘积

题目描述:
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。

题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。

请不要使用除法,且在 O(n) 时间复杂度内完成此题。

考察重点:使用left,right分别记录左右累乘积,每个位置分别相当于左边累乘 与 右边累乘的积

func ProductExceptSelf(nums []int) []int {lennum, left, right := len(nums), 1, 1res := make([]int, lennum)for i := 0; i < lennum; i++ {res[i] = 1}for i := 0; i < lennum; i++ {			//left, right 分别记录左右累乘,遍历完成,每个位置相当于被赋值了两次res[i] = res[i] * leftleft = left * nums[i]res[lennum-i-1] = res[lennum-i-1] * rightright = right * nums[lennum-i-1]}/**相当于for(int i=0;i<len;i++){output[i] = left;left *= nums[i];}for(int j=len-1;j>=0;j--){output[j] *= right;right *= nums[j];}*/return res
}

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

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

相关文章

黑马程序员_java基础笔记(15)...银行业务调度系统_编码思路及代码

—————————— ASP.NetAndroidIOS开发、.Net培训、期待与您交流&#xff01;—————————— 1&#xff0c;面试题目&#xff1a;银行业务调度系统 模拟实现银行业务调度系统逻辑&#xff0c;具体需求如下&#xff1a; 银行内有6个业务窗口&#xff0c;1 — 4号窗口…

一次非常有意思的sql优化经历

原文:一次非常有意思的sql优化经历场景 我用的数据库是mysql5.6&#xff0c;下面简单的介绍下场景 课程表 create table Course(c_id int PRIMARY KEY,name varchar(10))数据100条 学生表: create table Student(id int PRIMARY KEY,name varchar(10))数据70000条 学生成绩表SC…

Go Out Otherwise Shut Up

Shut Up For Ever! Work ,Work, Right Now! 下面盗用一下PLMM的格言给自己Add Oil。 a za a za fighting! Forge Ahead,Never Retreat! 这两句还是蛮有气势的&#xff0c;哈哈。 转载于:https://www.cnblogs.com/Farseer1215/archive/2005/05/07/150413.html

setCharacterEncoding和setContentType

request.setCharacterEncoding&#xff08;&#xff09;是设置从request中取得的值或从数据库中取出的值 response.setContentType("text/html;charsetgb2312")是设置页面中为中文编码 前者是设置动态文字&#xff08;参数&#xff0c;数据库&#xff09;&#xff0c…

LeetCode—239. 滑动窗口最大值(困难)

239. 滑动窗口最大值&#xff08;困难&#xff09; 题目描述&#xff1a; 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值 。 …

intellij idea搭建springboot

intellij idea2018.3创建springboot项目1.new > spring initilizer > web > spring web initializer运行项目方法一&#xff1a;导航板上的命令台图标&#xff0c;输入命令&#xff1a;mvn springboot:run,即可看到running,浏览器测试控制器方法&#xff0c;这种方法暂…

logstash

http://www.cnblogs.com/fangjian0423/p/logstash-elasticsearch-build.html http://chenlinux.com/2013/07/11/howto-filter-count-in-logstash/

连连看路径求解的算法

这是路径求解的算法做一个简单的介绍,适合入门者;首先是 x to x ,这个是横向比较直连然后是 y to y ,这个是竖向比较直连然后是 1个折点算法很简单;比如7x3的000100000000000000001p1 是 3,0p2 是 6,2那么折点是000100x0000000000x001折点1是 6,0 ,折点2是 3,2注意这个值和p1,p…

LeetCode—240. 搜索二维矩阵 II

240. 搜索二维矩阵 II 题目描述&#xff1a; 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 考察重点&#xff1a;简单的二维矩阵搜索 func SearchMatr…

Android开发:什么是IBinder

上回书简单描述了进程间传递类对象的原理&#xff0c;这回在讲Parcel之前&#xff0c;先要讲一个东西&#xff1a;IBinder。IBinder是什么呢&#xff1f;首先要明白&#xff0c;Android的远程调用&#xff08;就是跨进程调用&#xff09;就是通过IBinder实现的&#xff0c;下面…

Debug调试

先设置断点&#xff0c;然后Debug调试 step into&#xff1a;进入子函数step over&#xff1a;越过子函数&#xff0c;但子函数会执行step return&#xff1a;跳出子函数转载于:https://www.cnblogs.com/android-for-dh/p/4482519.html

python matplotlib绘图大全(散点图、柱状图、饼图、极坐标图、热量图、三维图以及热图)...

//2019.7.14晚matplotlib七种常见图像输出编程大全 七种图形汇总输出如下&#xff1a; import numpy as np #导入数据结构nmupy模块import matplotlib.pyplot as plt #导入matplotlib图像输出模块plt.rcParams["font.sans-serif"]["SimHei"] #输出图像的标…

Java入门需掌握的30个基本概念[转]

Java的白皮书为我们提出了Java语言的11个关键特性(1)Easy:Java的语法比C的相对简单&#xff0c;另一个方面就是Java能使软件在很小的机器上运行&#xff0c;基础解释其和类库的支持的大小约为40kb&#xff0c;增加基本的标准库和线程支持的内存需要增加125kb。(2)分布式:Java带…

LeetCode—241. 为运算表达式设计优先级

241. 为运算表达式设计优先级 题目描述&#xff1a; 给你一个由数字和运算符组成的字符串 expression &#xff0c;按不同优先级组合数字和运算符&#xff0c;计算并返回所有可能组合的结果。你可以按任意顺序 返回答案。 考察重点&#xff1a;(递归分治) 以符号位分割为左右…

报错:不是可以识别的内置函数名称

!!创建函数的时候不需要加dbo.&#xff0c;但在访问的时候&#xff0c;标量函数要加.dbo的 自己写完的函数&#xff0c;调用后报错提示&#xff1a;不是可以识别的内置函数名称 例&#xff1a;SELECT JS_ID A.ID, JSHM A.JSHM, JS_MC A.JS_MC, XY_DM …

C++右值引用与转移语义

std::forwad? C11 中定义的 T&& 的推导规则为&#xff1a; 右值实参为右值引用&#xff0c;左值实参仍然为左值引用。 参考&#xff1a; 右值引用与转移语义转载于:https://www.cnblogs.com/glensblog/p/11098359.html

gltail安装

是基于Ruby,所以服务器需要安装有ruby,国内需要把ruby的源改为淘宝的 Centos上 yum groupinstall "Development Tools" yum -y install freeglut libX11-devel mesa-libGL-devel perl-Time-HiRes freeglut-devel readline-devel libffi-devel libtool bison libxml…

微软获得O/R映射技术专利 业界担忧阻碍技术进展

一组微软员工申报了O/R映射技术的专利。 该专利将对业界现有的O/R映射产品造成怎样的影响目前尚不清楚&#xff0c;但有业界专家担忧微软将借此专利打压竞争对手。 这份专利档案是被网友无意间在专利信息查询网站FreshPatents.com上找到的&#xff0c;点此可以浏览原文。该专利…

Linux下安装Perl模块

# perl -MCPAN -e install Time::HiRes# perl -MCPAN -e install File::Tail# perl -MCPAN -e install Date::Parse# perl -MCPAN -e install Net::Netmask转载于:https://www.cnblogs.com/nwf5d/archive/2011/06/07/2074259.html

LeetCode—260. 只出现一次的数字 III

260. 只出现一次的数字 III 题目描述&#xff1a; 给定一个整数数组 nums&#xff0c;其中恰好有两个元素只出现一次&#xff0c;其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 进阶&#xff1a;你的算法应该具有线性时间复杂度。你能否…