給你乙個整數 n 。請你先求出從 1 到 n 的每個整數 10 進製表示下的數字和(每一位上的數字相加),然後把數字和相等的數字放到同乙個組中。
請你統計每個組中的數字數目,並返回數字數目並列最多的組有多少個。
示例 1:
輸入:n = 13
輸出:4
解釋:總共有 9 個組,將 1 到 13 按數字求和後這些組分別是:
[1,10],[2,11],[3,12],[4,13],[5],[6],[7],[8],[9]。總共有 4 個組擁有的數字並列最多。
示例 2:
輸入:n = 2
輸出:2
解釋:總共有 2 個大小為 1 的組 [1],[2]。
示例 3:
輸入:n = 15
輸出:6
示例 4:
輸入:n = 24
輸出:5
思路:沒有想出來簡單的方法,只能是遍歷計數,可以使用雜湊表
使用map還是unordered_map
當我看見他倆的時候,感覺他們是乙個東西,怎麼可能,不是的,雖然他們都是有鍵值對,但是map的底層的資料結構是紅黑樹,就是有序的,unorderde_map是雜湊表,也就是無序的,那和hash_map啥區別,unorderd_map是c++11的時候就引入了,而hash_map沒有,所以盡量使用unordered,
map的插入,查詢等都是o(logn),雜湊表的查詢時間是o(1),但是不一定他就快,因為他還要建立雜湊表,還會耗時間,
map使用紅黑樹,空間佔的蠻大的,但他是有序的
應該在查詢的時候,尤其是海量資料最好用unordered_map
該題,就是把各位數的和加起來,當作鍵,值存的是數目,記錄最大的數
然後再迴圈記錄該最大的數對應的個數
class solution
c[s]++;
if(maxn}
int num = 0;
for(int i=0;i}
return num;
}};
1399 統計最大組的數目
給你乙個整數 n 請你先求出從 1 到 n 的每個整數 10 進製表示下的數字和 每一位上的數字相加 然後把數字和相等的數字放到同乙個組中。請你統計每個組中的數字數目,並返回數字數目並列最多的組有多少個。示例 1 輸入 n 13 輸出 4 解釋 總共有 9 個組,將 1 到 13 按數字求和後這些組...
力扣 1399 統計最大組的數目
給你乙個整數 n 請你先求出從 1 到 n 的每個整數 10 進製表示下的數字和 每一位上的數字相加 然後把數字和相等的數字放到同乙個組中。請你統計每個組中的數字數目,並返回數字數目並列最多的組有多少個。示例 1 輸入 n 13 輸出 4 解釋 總共有 9 個組,將 1 到 13 按數字求和後這些組...
leetcode 1399 統計最大組的數目
給你乙個整數 n 請你先求出從 1 到 n 的每個整數 10 進製表示下的數字和 每一位上的數字相加 然後把數字和相等的數字放到同乙個組中。請你統計每個組中的數字數目,並返回數字數目並列最多的組有多少個。示例 1 輸入 n 13 輸出 4 解釋 總共有 9 個組,將 1 到 13 按數字求和後這些組...