提交代码
class Solution {
public int countLargestGroup(int n) {
int digitSum, maxSize=0,res=0;
Map<Integer, Integer> map=new HashMap<>();
for(int i=1;i<=n;i++) {
digitSum=sum(i);
map.put(digitSum, map.getOrDefault(digitSum,0)+1);
}
for(Integer v: map.values())
maxSize=v>maxSize?v:maxSize;
for(Integer v: map.values())
if(v==maxSize)
res++;
return res;
}
private int sum(int n) {
int sum=0;
while(n/10!=0) {
sum += n%10;
n/=10;
}
return sum+n;
}
}
运行结果

本文介绍了一种算法,用于找出在给定范围内所有整数中,具有最大数位和的数字组合的数量。通过使用哈希映射来跟踪每个数位和出现的频率,可以有效地确定具有最大数位和的最常见数字组合。
1888

被折叠的 条评论
为什么被折叠?



