Thu. Sep 19th, 2024

# LeetCode – Arrays – Count Largest Group

#### ByKnight Coderz

Apr 22, 2020

Given an integer `n`. Each number from `1` to `n` is grouped according to the sum of its digits.

Return how many groups 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.
```

Example 3:

```Input: n = 15
Output: 6
```

Example 4:

```Input: n = 24
Output: 5```
``class Solution {    public int countLargestGroup(int n) {        int result = 0;        int max = 0;        Map<Integer,Integer> freqMap = new HashMap<Integer,Integer>();        for(int i=n;i>0;i--){            int sum = getSum(i);            freqMap.put(sum,freqMap.getOrDefault(sum,0)+1);        }        //System.out.println(freqMap);        List<Integer> valueList = new ArrayList<Integer>(freqMap.values());        for(int i=0;i<valueList.size();i++){            if(i==0){                max = valueList.get(i);                result = 1;            }             else{                if(valueList.get(i)>max){                    max = valueList.get(i);                    result=1;                }                else if(valueList.get(i)==max) result++;                            }        }        return result;    }        public int getSum(int n){        int sum = 0;        while(n>0){            sum = sum + n%10;            n = n/10;        }        return sum;    }}``