একটি লিস্ট nums দেওয়া আছে। i < j এবং nums[i] == nums[j] olan পেয়ারের সংখ্যা বের করুন।
উদাহরণ
nums = [5, 4, 5, 4, 4] → আউটপুট: 4
পেয়ার: (0,2), (1,3), (1,4), (3,4)
এলগরিদম (ফ্রিকোয়েন্সি কাউন্ট)
c := Counter(nums)count := 0- প্রতিটি ফ্রিকোয়েন্সি
nএর জন্য:count += n*(n-1)//2 countরিটার্ন করুন।
পাইথন কোড
from collections import Counter
def solve(nums):
c = Counter(nums)
count = 0
for n in c.values():
count += n * (n - 1) // 2
return count
nums = [5, 4, 5, 4, 4]
print(solve(nums)) # আউটপুট: 4
ইনপুট / আউটপুট
[5, 4, 5, 4, 4] 4