方法一 个人方法:
把下位和相同的数字放入同一个数组,并把数组放入下标为下位和的res数组中,同时记录每个数组的长度的最大值
遍历res数组,长度等于max就count+1
var countLargestGroup = function(n) {
let res=[],max=-1,count=0
for(let i=1;i<=n;i++){
let sum=i<10?i:sumDigits(i)
if(res[sum]===undefined) res[sum]=[]
res[sum].push(i)
if(res[sum].length>max) max=res[sum].length
}
for(let arr of res){
if(arr && arr.length===max) count++
}
return count
};
function sumDigits(n) {
let sum = 0;
while (n) {
sum += n % 10;
n = Math.floor(n / 10);
}
return sum;
}
消耗时间和内存情况: