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