LyWang

production_without_itself

Nov 25th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.09 KB | None | 0 0
  1. class Solution:
  2.     """
  3.    @param: nums: Given an integers array A
  4.    @return: A long long array B and B[i]= A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1]
  5.    """
  6.     def productExcludeItself(self, nums):
  7.         #  write your code here
  8.         result = [1] * len(nums)
  9.         for i in range(1,len(nums)):
  10.             result[i] = result[i-1]*nums[i-1]
  11.             # it means, for result [3], result[3] = result[2] * nums [2] = result[1] * nums[1] * nums[2]
  12.             # = result[0] * nums[0] * nums[1] * nums[2] =nums[0] * nums[1] * nums[2]
  13.             # last member needs nothing to change but
  14.             # for result [2], result = result[1]*nums[1] = result[0]*nums[0]*nums[1]=nums[0]*nums[1]
  15.             # lacking nums[3]
  16.            
  17.             # for result [1], result [1] = result [0] * nums[0]
  18.             # lacking nums[2] and nums[3]
  19.            
  20.             #for result [0]
  21.             #lacking nums[1] nums[2] and nums[3]
  22.         cur = 1
  23.         for i in range(len(nums)-1,0,-1):
  24.             cur = cur * nums[i]
  25.             result[i-1] = result[i-1]*cur
  26.         return result
Add Comment
Please, Sign In to add comment