Count pairs with given sum Python
- Get link
- X
- Other Apps
PROGRAM TO FIND THE NUMBER OF PAIRS OF INTEGERS IN THE ARRAY WHOSE SUM IS EQUAL TO SUM
# Function to return the count of pairs # from arr with the given sum def pairs_count(arr, n, sum): # To store the count of pairs ans = 0 # Sort the given array arr = sorted(arr) # Take two pointers i, j = 0, n - 1 while (i < j): # If sum is greater if (arr[i] + arr[j] < sum): i += 1 # If sum is lesser elif (arr[i] + arr[j] > sum): j -= 1 # If sum is equal else: # Find the frequency of arr[i] x = arr[i] xx = i while (i < j and arr[i] == x): i += 1 # Find the frequency of arr[j] y = arr[j] yy = j while (j >= i and arr[j] == y): j -= 1 # If arr[i] and arr[j] are same # then remove the extra number counted if (x == y): temp = i - xx + yy - j - 1 ans += (temp * (temp + 1)) // 2 else: ans += (i - xx) * (yy - j) # Return the required answer return ans # Driver code arr = [1, 5, 7, 5, -1] n = len(arr) sum = 6 print(pairs_count(arr, n, sum))
OUTPUT
3
- Get link
- X
- Other Apps
Comments
Post a Comment