aboutsummaryrefslogtreecommitdiff
path: root/count_largest_group.py
diff options
context:
space:
mode:
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))