QUESTION:
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.
Example 1:
Input: n = 13
Output: 4
Explanation: There are 9 groups in total, they are grouped according sum of its digits of numbers from 1 to 13:
[1,10], [2,11], [3,12], [4,13], [5], [6], [7], [8], [9].
There are 4 groups with largest size.
Example 2:
Input: n = 2
Output: 2
Explanation: There are 2 groups [1], [2] of size 1.
Constraints:
1 <= n <= 104
EXPLANATION:
easy的题目, 按照题意去模拟出来即可.
SOLUTION:
class Solution {
func countLargestGroup(_ n: Int) -> Int {
var dic: [Int:Int] = [:]
for i in 1...n {
var tmp = 0
for ch in String(i) {
tmp += Int(String(ch))!
}
dic[tmp] = dic[tmp,default: 0] + 1
}
var result = 0
var maxVal: Int = 0
for d in dic {
maxVal = max(maxVal, d.value)
}
for d in dic {
if d.value == maxVal {
result += 1
}
}
return result
}
}