LeetCode每日一题:Product of Array Except Self

LeetCode每日一题:Product of Array Except Self

最近开始在leetcode上刷算法题了,这儿把自己每天刷的题来给大家分享一下,下面看这道题:

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

示例:

输入: [1,2,3,4]
输出: [24,12,8,6]

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

进阶:

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

注意这道题的几点限制:1.不使用除法 2. O(n)时间复杂度 3. O(1) 空间复杂度。

最近比较忙,具体思路就不写了,直接附上我的代码吧,大家多多斧正:

/**
 * @param {number[]} nums
 * @return {number[]}
 */
var productExceptSelf = function(nums) {
 var reduce_val = 1;
 var res = [1];
 // left 
 for(var i=1;i=0;i--){
 reduce_val*= nums[i+1];
 res[i] *= reduce_val;
 }
 return res;
};

PS:如果这篇文章让你学到了一点知识,欢迎点赞并关注我哦,每天一点技术干货,让我陪你在大牛的路上越走越远!!!


分享到:


相關文章: