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