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

Nhóm các số nguyên (Group Integers) trong Python


Cho danh sách nums, kiểm tra xem có thể chia thành 1 hoặc nhiều nhóm thỏa mãn: 1. Kích thước mỗi nhóm >= 2. 2. Tất cả nhóm cùng kích thước. 3. Tất cả số trong mỗi nhóm giống nhau.

Ví dụ, [3, 4, 6, 9, 4, 3, 6, 9], đầu ra True.

Các bước giải quyết:

  • counts := bản đồ tần suất các phần tử khác nhau.
  • temp := 0.
  • Duyệt từng tần suất count trong counts:
    • Nếu temp == 0, temp = counts[count].
    • Ngược lại, temp = gcd(counts[count], temp).
    • Nếu temp == 1, trả về False.
  • Trả về True.

Ví dụ minh họa

from collections import Counter
import math

class Solution:
    def solve(self, nums):
        counts = Counter(nums)
        temp = 0
        for count in counts:
            if temp == 0:
                temp = counts[count]
            else:
                temp = math.gcd(counts[count], temp)
            if temp == 1:
                return False
        return True

ob = Solution()
L = [3, 4, 6, 9, 4, 3, 6, 9]
print(ob.solve(L))

Đầu vào

[3, 4, 6, 9, 4, 3, 6, 9]

Đầu ra

True