Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình đếm các phần tử có phần tử tiếp theo cũng trong mảng bằng Python

Giả sử chúng ta có một danh sách các số là nums, chúng ta phải tìm số phần tử x trong mảng, sao cho x + 1 cũng tồn tại trong mảng.

Vì vậy, nếu đầu vào giống như nums =[4, 2, 3, 3, 7, 9], thì đầu ra sẽ là 3, bởi vì có 2 + 1 =3, 3 + 1 =4 có mặt và 3 khác là hiện nay tổng số 3.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • answer:=0

  • c:=danh sách chứa tần số của từng phần tử có trong nums

  • dlist:=một danh sách từ danh sách tất cả các khóa của c

  • đối với mỗi tôi trong danh sách, hãy làm

    • nếu c [i + 1]> 0, thì

      • answer:=answer + c [i]

  • trả lại câu trả lời

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn

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))

Đầu vào

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

Đầu ra

3