| class Solution: | |||||
| def productExceptSelf(self, nums): | |||||
| left = [1] | |||||
| right = [1] | |||||
| for x in range(1, len(nums)): | |||||
| left.append(left[x-1] * nums[x-1]) | |||||
| for x in range(1, len(nums)): | |||||
| right.append(1) | |||||
| for x in range(len(nums) - 2, -1, -1): | |||||
| right[x] = right[x+1] * nums[x+1] | |||||
| result = [] | |||||
| for x in range(0, len(left)): | |||||
| result.append(left[x] * right[x]) | |||||
| return result | |||||
| s = Solution() | |||||
| print("Expected: [24, 12, 8, 6]") | |||||
| print("Got:", s.productExceptSelf([1, 2, 3, 4])) |
| Given an array nums of n integers where n > 1, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i]. | |||||
| Example: | |||||
| Input: [1,2,3,4] | |||||
| Output: [24,12,8,6] | |||||
| Constraint: It's guaranteed that the product of the elements of any prefix or suffix of the array (including the whole array) fits in a 32 bit integer. | |||||
| Note: Please solve it without division and in O(n). | |||||
| Follow up: | |||||
| Could you solve it with constant space complexity? (The output array does not count as extra space for the purpose of space complexity analysis.) |
| #!/bin/bash | |||||
| python3 main.py |