1399. 統計最大組的數目 - 力扣(LeetCode)
給你一個整數?n
?。請你先求出從?1
?到?n
?的每個整數 10 進制表示下的數位和(每一位上的數字相加),然后把數位和相等的數字放到同一個組中。
請你統計每個組中的數字數目,并返回數字數目并列最多的組有多少個。
思路:
哈希表維護數位和
MaxVal維護最大數位和長度
判定最大數位和長度的組數
class Solution {
public:int countLargestGroup(int n) {//哈希表維護數位和//MaxVal維護最大數位和長度unordered_map<int,int>mp;int maxVal=0;for(int i=1;i<=n;i++){int CurNum=0;int t=i;while(t){CurNum+=t%10;t/=10;}++mp[CurNum];maxVal=max(maxVal,mp[CurNum]);}//ans維護最大數位和長度下個數int ans=0;for(auto &p:mp){if(p.second==maxVal){ans++;}}return maxVal;}
};