Python Program to find number of sub arrays with negative product
This post deals with how to find the number of sub-arrays with negative products in Python. Here, I am going to provide you with a simple solution to this problem using prefix product array.
Example:
Input:
arr[ ]={6, 7, -2}
Output:
3
Explanation:
Following are the sub-arrays with the negative product: {2}, {6,-2}, {7,-2}
Program
Now, we have a look at the implementation of the above algorithm.
def negativeProduct(arr, size): posCount = 1 negCount = 0 for x in range(size): if (arr[x] > 0): arr[x] = 1 else: arr[x] = -1 if (x > 0): arr[x] *= arr[x - 1] #to count the number of postive and negative #elements in Prefix product array if (arr[x] == 1): posCount += 1 else: negCount += 1 return (posCount * negCount) arr = list(map(int,input("Enter the elements: ").split())) size = len(arr) print("Number of sub-array with negative product:",negativeProduct(arr,size))
Sample output 1:
Enter the elements: 6 7 -2 Number of sub-array with negative product: 3
Sample output 2:
Enter the elements: 6 2 8 Number of sub-array with negative product: 0
I hope that you have learned something new and useful from this post.
Leave a Reply