Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình kiểm tra số lần xuất hiện của mọi giá trị có duy nhất hay không trong Python

Giả sử chúng ta có một danh sách các số nums (dương hoặc âm), chúng ta phải kiểm tra xem số lần xuất hiện của mọi giá trị trong mảng có duy nhất hay không.

Ví dụ, nếu đầu vào là nums = [6, 4, 2, 9, 4, 2, 2, 9, 9, 9], thì đầu ra sẽ là True, vì có 1 lần xuất hiện của 6, 2 lần của 4, 3 lần của 2, và 4 lần của 9. Vì vậy tất cả số lần xuất hiện đều duy nhất.

Để giải quyết, chúng ta thực hiện các bước sau:

  • num_counts := một map mới lưu trữ tất cả các giá trị và số lần xuất hiện của giá trị đó
  • occurrences := danh sách tất cả các giá trị của num_counts
  • trả về True khi kích thước của occurrences bằng số phần tử duy nhất trong occurrences, ngược lại False

Ví dụ

from collections import Counter

class Solution:
    def solve(self, nums):
        num_counts = dict(Counter(nums))
        occurrences = num_counts.values()
        return len(occurrences) == len(set(occurrences))

ob = Solution()
nums = [6, 4, 2, 9, 4, 2, 2, 9, 9, 9]
print(ob.solve(nums))

Input

[6, 4, 2, 9, 4, 2, 2, 9, 9, 9]

Output

True