本文主要是介绍1.9 面试经典150题 除自身以外数组的乘积,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
除自身以外数组的乘积
给你一个整数数组
nums
,返回 数组answer
,其中answer[i]
等于nums
中除nums[i]
之外其余各元素的乘积 。题目数据 保证 数组
nums
之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。请 不要使用除法,且在
O(n)
时间复杂度内完成此题。
class Solution:def productExceptSelf(self, nums: List[int]) -> List[int]:ans = []if not nums: return []length = len(nums)if length == 1: return [0]L = [0] * lengthR = [0] * lengthL[0] = R[-1] = 1for i in range(1, length):L[i] = L[i - 1] * nums[i - 1]R[length - i - 1] = R[length - i] * nums[length - i]for i in range(length):ans.append(L[i] * R[i])return ans
这篇关于1.9 面试经典150题 除自身以外数组的乘积的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!