สมมติว่าเรามีรายการหมายเลขที่เรียกว่า 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