在 JavaScript 中查找和位相等的元素最大的组


我们需要编写一个 JavaScript 函数,它以一个正整数(例如 n)作为唯一参数。

该函数首先将从 1 到 n 的整数分组到子数组中,其中具体子数组包含元素和位相同。然后,函数应该检查每个子数组并返回包含最多元素的子数组的长度。

例如 −

如果输入数字为 −

const num = 15;

则输出应为 −

const output = 2;

因为组为 −

[1, 10], [2, 11], [3, 12], [4, 13], [5, 14], [6, 15], [7], [8], [9]

示例

以下是代码 −

const num = 67;
const countLargestGroup = (num = 1) => {
   if(num < 10){
      return num;
   };
   let res = 0;
   let temp = 0;
   let map = {};
   for(let i = 1; i <= num; i++){
      let sum = 0;
      let num = i;
      while (num) {
         sum += num % 10;
         num = Math.floor(num / 10);
      }
      if(map[sum] != undefined){
         map[sum]++;
      } else {
         map[sum] = 1;
      }
   };
   for (const key of Object.keys(map)) {
      if(temp == map[key]){
         res++;
      }
      else if(temp < map[key]){
         res = 1;
         temp = map[key];
      }
   };
   return res;
};
console.log(countLargestGroup(num));

输出

以下是控制台输出 −

4

更新于: 2021-01-27

97 次浏览

开启您的 职业 生涯

通过完成本课程获取认证

开始
广告