LeetCode - Arrays - Count Largest Group 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; } }