Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมนับสมาชิกที่มีค่า+1 อยู่ใน Array เดียวกันใน Python

ให้ลิสต์ nums นับจำนวน x ที่ x+1 ก็อยู่ในลิสต์ (นับซ้ำตามความถี่)

ตัวอย่าง: nums=[4,2,3,3,7,9] → 3 (2→3, 3→4, 3→4)

ขั้นตอน (Counter)

  1. c = Counter(nums)
  2. วน Key i ถ้า c[i+1] > 0: ans += c[i]

ตัวอย่างโค้ด

from collections import Counter

def solve(nums):
    answer = 0
    c = Counter(nums)
    dlist = list(c.keys())
    for i in dlist:
        if c[i + 1] > 0:
            answer += c[i]
    return answer

nums = [4, 2, 3, 3, 7, 9]
print(solve(nums))  # Output: 3

อินพุต

[4, 2, 3, 3, 7, 9]

เอาต์พุต

3