This post is completed by 2 users
|
Add to List |
469. Given an array, find the number of all pairs with odd sum.
Objective: Given an array of integers, write a program to find the number of pairs with even odd.
Example:
Given Input: [1, 2, 3, 4] Number of odd pairs: 4 Note: (1, 2), (1, 4), (2, 3) and (3, 4) Given Input: [6, 7, 1, 3, 2, 5, 4] Number of odd pairs
Naive approach: Use nested loops and check the sum of each possible pair and if the sum is odd then add it to the result.
Time Complexity: O(N2)
Better approach:
- Iterate through the array and count the number of odd elements and even elements.
- We know the odd + even = odd, we will use this property.
- Number of pairs with odd count = evenCount*oddCount.
Time Complexity: O(N)
Output:
Given Input: [6, 7, 1, 3, 2, 5, 4] Number of odd pairs: 12