Untitled
unknown
plain_text
5 months ago
827 B
1
Indexable
from collections import defaultdict def get_triplet_count(arr, d): n = len(arr) count = 0 # Dictionary to store frequency of (arr[i] + arr[j]) % d remainder_count = defaultdict(int) # Traverse each element as the third element in the triplet for k in range(n): # For every arr[k], find pairs (arr[i], arr[j]) that make the sum divisible by d target_remainder = (-arr[k]) % d if target_remainder in remainder_count: count += remainder_count[target_remainder] # Update remainder counts for pairs ending at k for j in range(k): pair_sum = (arr[j] + arr[k]) % d remainder_count[pair_sum] += 1 return count # Test case from the image arr = [2, 3, 1, 6] d = 3 result = get_triplet_count(arr, d) result # Expected output: 2
Editor is loading...
Leave a Comment