- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
一、题目
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除
nums[i] 之外其余各元素的乘积 。
题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位
整数范围内。
请不要使用除法,且在 O(n) 时间复杂度内完成此题。
二、示例
输入: nums = [1,2,3,4]
输出: [24,12,8,6]
输入: nums = [-1,1,0,-3,3]
输出: [0,0,9,0,0]
三、思路
本题首先给出了限制,不要使用除法,并且在O(n)的时间复杂度内完成。
下面我们以[1,2,3,4]
为例,如果我们求除3
以外的数组的乘积,我们可以先求出3
之前的数组乘积,以及3之后的数组乘积,然后再进行相乘即可。所以这里我们使用到两次循环。
四、代码展示
/**
* @param {number[]} nums
* @return {number[]}
*/
var productExceptSelf = function (nums) {
let resultArr = [1]
let curValue = 1
for (let i = 1; i < nums.length; i++) {
resultArr[i] = resultArr[i - 1] * nums[i - 1]
}
for(let j = nums.length - 1; j >= 0; j-- ) {
resultArr[j] = resultArr[j] * curValue
curValue *= nums[j]
}
return resultArr
};
// [1,2,3,4]
五、总结
我已经坚持了好几天了……很抱歉遇到这样的问题,但是我只是F#本身的初学者。由于关于类型提供程序的讨论很多,所以我决定建立一个类型提供程序并撰写一篇有关它的论文。当我开始时,我不知道什么是类型提供程序。
我正在开发LAN项目唤醒功能,但是我想控制局域网中计算机是否打开。但是我不想使用ICMP或WMI(我的网络上有DC)。那么,对于此问题,是否还有其他选择,例如“套接字连接”,请检查特定端口是否正在使用
我们有一个旧的VB6应用程序,该应用程序使用Crystal Reports XI生成打印报告。我们已经通过经验发现,如果Crystal Reports打印引擎选择了错误版本的 usp10.dll (W
我正在尝试获取有效的 Android 权限列表。我知道 http://developer.android.com/reference/android/Manifest.permission.html
嗨,我是 nginx 的新手,我试图在我的服务器(运行 Ubuntu 4)上设置它,它已经运行了 apache。 所以在我 apt-get install 它之后,我尝试启动 nginx。然后我收到这
如何在VB 6中检查对象的类型-除了'TypeName'之外,是否还有其他方法,因为无法通过'TypeName'进行检查,我希望使用类似QuichWatch窗口的方法。 最佳答案 对于对象变量,请使用
我的 JSP 应用程序中有一个错误。发布后我的 session 被清除: YAHOO.util.Connect.asyncRequest('POST', Url, callback, post
我是一名优秀的程序员,十分优秀!