@@ -0,0 +1,22 @@ | |||
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])) |
@@ -0,0 +1,13 @@ | |||
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.) |
@@ -0,0 +1,3 @@ | |||
#!/bin/bash | |||
python3 main.py |