每日一题——LeetCode1399.统计最大组的数目

该文章描述了一个名为`countLargestGroup`的JavaScript函数,用于统计给定数字列表中最大组的个数,通过将相同数字合并到数组并找到最大长度来实现。同时提到了`sumDigits`辅助函数。文章关注了算法的时间和内存效率。
摘要由CSDN通过智能技术生成

 

方法一 个人方法:

 把下位和相同的数字放入同一个数组,并把数组放入下标为下位和的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;
}

消耗时间和内存情况: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值