
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Product of Array Except Self in Python
Suppose we have an array called nums of n integers where n > 1. We have to find an array output such that output[i] is equal to the product of all the elements of nums except nums[i]. So if the input array is [1,2,3,4], then the output will be [24,12,8,6]. We have to solve this without using division operator.
To solve this, we will follow these steps −
- right_mul := an array of size same as nums, fill it with 0
- last element of right_mul = last element of nums
- for i in range 1 to length of nums
- right_mul[length of nums – i – 1] = right_mul[length of nums – i]* nums[length of nums – i – 1]
- output := an array of size same as nums, fill it with 0
- prefix := 1, and index := 0
- while index < length of output – 1
- output[index] := prefix * right_mul[index + 1]
- prefix := prefix * nums[index]
- index := index + 1
- last element of output := prefix
- return output
Let us see the following implementation to get better understanding −
Example
class Solution(object): def productExceptSelf(self, nums): right_multiply = [0] * len(nums) right_multiply[-1]=nums[-1] for i in range(1,len(nums)): right_multiply[len(nums)-i-1] = right_multiply[len(nums)-i] * nums[len(nums)-i-1] output = [0]*len(nums) prefix = 1 current_index = 0 while current_index < len(output)-1: output[current_index] = prefix * right_multiply[current_index+1] prefix *= nums[current_index] current_index +=1 output[-1] = prefix return output ob1 = Solution() print(ob1.productExceptSelf([1,3,5,7,9]))
Input
[1,3,5,7,9]
Output
[945, 315, 189, 135, 105]
Advertisements