สมมติว่าเรามีรายการหมายเลขที่เรียกว่า nums เราต้องหาจำนวนคู่ i
ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[5, 4, 5, 4, 4] ผลลัพธ์จะเป็น 4 เนื่องจากเรามีคู่ดัชนีเช่น (0, 2), (1, 3), (1, 4 ) และ (3, 4).
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
c :=รายการที่มีความถี่ของแต่ละองค์ประกอบที่มีอยู่ใน nums
นับ :=0
สำหรับแต่ละ n ในรายการค่าทั้งหมดของ c ทำ
count :=count + floor of (n *(n - 1)) / 2
จำนวนคืน
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น
ตัวอย่าง
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))
อินพุต
[5, 4, 5, 4, 4]
ผลลัพธ์
4