leetcode238 除本身以外数组的乘积

给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。

示例:

输入: [1,2,3,4]
输出: [24,12,8,6]
说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。

进阶:
你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输出数组不被视为额外空间。)

思路:正着乘一遍倒着乘一遍。第i个数字的答案就是正着乘的时候经过他还有倒着乘的时候经过他的两个数相乘。

class Solution {public int[] productExceptSelf(int[] nums) {int[] res = new int[nums.length];int p = 1, q = 1;for (int i = 0; i < nums.length; i++) {res[i] = p;p *= nums[i];}for (int i = nums.length - 1; i > 0 ; i--) {q *= nums[i];res[i - 1] *= q;}return res;}
}

 

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

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

相关文章

C 和c++的一些杂想,想到哪儿写到哪儿

关于C和c++一直有好多的程序猿在研究,研究区别研究相似的地方,究竟用那个预言好,没有确定的说法,要看你做什么了。 初始化操作: 在初始化的时候,我们都知道C语言一般都是这样处理的: int a=12; C++ 呢,除了这样复制初始化之外还可以直接初始化: int a(12); 啊…

C++(2)--mac使用VScode 进行C++编译、运行、调试

mac 使用VScode 进行C开发1.编译的基础概念2. mac 编译c代码2.1 查看编译器情况2.2 安装插件C/C&#xff0c;C/C Clang Command Adapte2.3新建一个C project2.3.1本地新建文件夹2.3.2新建mian.cpp文件2.3.3 编写hello word demo2.4 代码编译&#xff0c;运行&#xff0c;调试2.…

boost库linux编译安装

0.下载 1.解压boost_1_49_0.tar.g然后放到/opt/ 2. 进入解压后的文件夹 cd /opt/boost_1_49_0 3.将boost安装配置在/boost/prefix目录下 不过之前先 mkdir -p /boost/prefix

leetcode136 只出现一次的数字

给定一个非空整数数组&#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 说明&#xff1a; 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗&#xff1f; 示例 1: 输入: [2,2,1] 输出: 1 示例 2: …

C++(3)--编译、gdb调试

3--编译和执行过程1.编译2.gdb调试gdb 查coreGCC是一个编译套件&#xff0c;是一个以"gcc"命令为首的源码施工队。施工队的成员有gcc、cpp、as、ld四个成员 预处理–宏定义展开&#xff0c;头文件引入-- cpp 等价于 gcc -E编译–C语言->汇编语言–gcc -S汇编–汇…

leetcode94 二叉树的中序遍历

给定一个二叉树&#xff0c;返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单&#xff0c;你可以通过迭代算法完成吗&#xff1f; 递归 /*** Definition for a binary tree node.* public class TreeNode …

使用动态链接库

1. 动态链接库是程序运行时加载的库,当动态链接库正确安装后,所有的程序都可以使用动态库来运行程序。动态链接库是目标文件的集合,目标文件在动态链接库中的组织方式是按照特殊方式形成的。库中函数和变量的地址是相对地址,不是绝对地址,其真实地址在调用动态库的程序加载…

算法(29)--两棵树匹配

树匹配1.剑指 Offer 26. 树的子结构2.剑指 Offer 27. 二叉树的镜像3.剑指 Offer 28. 对称的二叉树1.剑指 Offer 26. 树的子结构 判断&#xff1a;小树B是否是大树A的一部分&#xff0c;需要以大树A的每个为根节点进行匹配判断。 算法&#xff1a;判断两个节点是否相等&#xf…

leetcode647 回文子串

给定一个字符串&#xff0c;你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串&#xff0c;即使是由相同的字符组成&#xff0c;也会被计为是不同的子串。 示例 1: 输入: "abc" 输出: 3 解释: 三个回文子串: "a", "…

windows下关于Objective-C开发环境的配置

最近IOS一直很火&#xff0c;也想学习以以下OC开发&#xff0c;一般装个虚拟机&#xff0c;然后装个mac&#xff0c;我相信大多数人的机子跑不起来或者很卡&#xff0c;所以之前借鉴了一个文章&#xff0c;就是关于在windows下配置OC开发环境&#xff0c;这里我把自己的安装说一…

如何选择商铺投资

如何选择商铺&#xff1f; 选择商铺时&#xff0c;需要考虑哪些因素呢&#xff1f; 聂先生表示&#xff0c;要看地段&#xff0c;包括周围的商业环境、停车方便程度、汽车流量、未来发展前景、视觉效果等因素。此外&#xff0c;地域经济也很重要&#xff0c;必须要有一个好的投…

PaperNotes(6)-GAN/DCGAN/WGAN/WGAN-GP/WGAN-SN-网络结构/实验效果

GAN模型网络结构实验效果演化1.GAN1.1网络结构1.2实验结果2.DCGAN2.1网络结构2.2实验结果3.WGAN3.1网络结构3.2实验结果4.WGAN-GP4.1网络结构4.2实验结果5.WGAN-SN5.1网络结构5.2实验结果小结1.GAN 文章&#xff1a; https://arxiv.org/pdf/1406.2661.pdf 代码&#xff1a; Py…

Spring Security使用

Spring Security 在web应用开发中&#xff0c;安全无疑是十分重要的&#xff0c;选择Spring Security来保护web应用是一个非常好的选择。 Spring Security 是spring项目之中的一个安全模块&#xff0c;可以非常方便与spring项目无缝集成。特别是在spring boot项目中加入sprin…

nginx python webpy 配置安装

安装webpy$ wget http://webpy.org/static/web.py-0.34.tar.gz$ tar xvzf web.py-0.34.tar.gz$ cd web.py-0.34$ sudo python setup.py install安装 Fluphttp://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz$ wget http://www.saddi.com/software/flup/dist/flup-1.0.2…

PaperNotes(7)-GANs模式坍塌/训练不稳定

GANs-模式坍塌-训练不稳定1.训练不稳定问题相关文章1.1 DCGAN1.2Big-GAN1.3WGAN 、WGAN-GP、SN-WGAN1.4其他工作2.模式坍塌问题相关文章2.1 MAD-GAN2.2 Unrolled GAN2.3 DRAGAN2.4 D2GAN2.5 InfoGAN2.6 Deligan2.7 EBGAN2.8 Maximum Entropy Generators for Energy-Based Model…

thinkphp框架起步认识

先看看thinkphp的文档吧&#xff1a;这是我在网上找的一个不错的链接地址&#xff0c;对自己有用&#xff0c;同时相信对读者也有用吧。 http://doc.thinkphp.cn/manual/class.html ThinkPHP 跨模块调用操作方法&#xff08;A方法与R方法&#xff09; 跨模块调用操作方法 前面说…

leetcode403 青蛙过河

一只青蛙想要过河。 假定河流被等分为 x 个单元格&#xff0c;并且在每一个单元格内都有可能放有一石子&#xff08;也有可能没有&#xff09;。 青蛙可以跳上石头&#xff0c;但是不可以跳入水中。 给定石子的位置列表&#xff08;用单元格序号升序表示&#xff09;&#xff…

PaperNotes(8)-Stein Variational Gradient Descent A General Purpose Bayesian Inference Algorithm

通用贝叶斯推理算法-Stein Variational Gradient DescentAbstract1 Introduction2 Background3 Variational Inference Using Smooth Transforms3.1 Stein Operator as the Derivative of KL Divergence定理3.1引理3.23.2 Stein Variational Gradient Descent4 Related Works5 …

thinkphp的增删改查

ThinkPHP 添加数据 add 方法 ThinkPHP 内置的 add 方法用于向数据表添加数据&#xff0c;相当于 SQL 中的 INSERT INTO 行为。ThinkPHP Insert 添加数据添加数据 add 方法是 CURD&#xff08;Create,Update,Read,Delete / 创建,修改,读取,删除&#xff09;中的 Create 的实现&a…

leetcode115 不同的子序列

给定一个字符串 S 和一个字符串 T&#xff0c;计算在 S 的子序列中 T 出现的个数。 一个字符串的一个子序列是指&#xff0c;通过删除一些&#xff08;也可以不删除&#xff09;字符且不干扰剩余字符相对位置所组成的新字符串。&#xff08;例如&#xff0c;"ACE" 是…