aboutsummaryrefslogtreecommitdiff
path: root/count_largest_group.py
diff options
context:
space:
mode:
authorJack Sangdahl <[email protected]>2025-04-23 00:22:32 -0600
committerJack Sangdahl <[email protected]>2025-04-23 00:22:32 -0600
commit5ac705b1894f3c85f6736c62cd5c0e44f254736e (patch)
tree8e8d7b906864b1e7ba7ebb522ea8491b409a7389 /count_largest_group.py
parente452b865cbb2f6af0c97380721f009f9672ad432 (diff)
downloadleetcode-5ac705b1894f3c85f6736c62cd5c0e44f254736e.tar.gz
leetcode-5ac705b1894f3c85f6736c62cd5c0e44f254736e.zip
1399. count largest group
Diffstat (limited to 'count_largest_group.py')
-rw-r--r--count_largest_group.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/count_largest_group.py b/count_largest_group.py
new file mode 100644
index 0000000..3158100
--- /dev/null
+++ b/count_largest_group.py
@@ -0,0 +1,39 @@
+# 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))