Python中的组整数

假设我们有一个称为nums的数字列表,我们必须检查是否可以将列表分成1或多个组,以便:1.每个组的大小大于或等于2。2.所有组的大小相同。3.每组中存在的所有数字均相同。

因此,如果输入类似于[3,4,6,9,4,4,3,6,9],则输出将为True。

为了解决这个问题,我们将遵循以下步骤-

  • 计数:=一张映射,其中每个键都是不同的元素,值是其频率

  • 温度:= 0

  • 对于每个计数,执行

    • 返回False

    • temp:= counts [count]和temp的gcd

    • temp:= counts [count]

    • 如果temp等于0,则

    • 除此以外,

    • 如果temp与1相同,则

    • 返回True

    让我们看下面的实现以更好地理解-

    示例

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

    输入值

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

    输出结果

    True