leetcode

Leetcode Solutions (0x6A73)
git clone https://git.pngu.org/leetcode
Log | Files | Refs | Submodules | README

count_largest_group.py (882B)


# 1399. Count Largest Group

"""
you are given an integer 'n'. each number from 1 to 'n' is grouped according
to the sum of its digits. return the number of groups that have the largest
size.
"""


class Solution(object):
    def get_num(self, n):
        res = 0
        while n != 0:
            res += n % 10
            n //= 10
        return res

    def countLargestGroup(self, n):
        """
        :type n: int
        :rtype: int
        """
        arr, m = [0] * 37, 0
        for i in range(1, n + 1):
            curr = self.get_num(i)
            arr[curr] += 1
            if arr[curr] > m:
                m = arr[curr]
        cnt = 0
        for i in range(37):
            if arr[i] == m:
                cnt += 1
        return cnt


if __name__ == "__main__":
    obj = Solution()
    print(obj.countLargestGroup(n=13))
    print(obj.countLargestGroup(n=2))