給你乙個整數 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
因為最大10^4,所以最大數字和是9+9+9+9=36
class
solution
int max =1;
int ans =1;
for(
int i =
1; i <
37; i++
)else
if(bit_sum[i]
== max)
else
}//for(int num : bit_sum) ans += num == max ? 1 : 0;
return ans;
}public
intbitsum
(int num)
return sum;
}}
優化版
如何將十進位制的各個數字相加,因為求的是從1-n的數字和,所以可以找出規律:
sum[i] = sum[i / 10] + i % 10 //按順序新增sum[i]
class
solution
for(
int num : count) ans += num == max ?1:
0;return ans;
}}
1399 統計最大組的數目
給你乙個整數 n 請你先求出從 1 到 n 的每個整數 10 進製表示下的數字和 每一位上的數字相加 然後把數字和相等的數字放到同乙個組中。請你統計每個組中的數字數目,並返回數字數目並列最多的組有多少個。示例 1 輸入 n 13 輸出 4 解釋 總共有 9 個組,將 1 到 13 按數字求和後這些組...
1399 統計最大組的數目
給你乙個整數 n 請你先求出從 1 到 n 的每個整數 10 進製表示下的數字和 每一位上的數字相加 然後把數字和相等的數字放到同乙個組中。請你統計每個組中的數字數目,並返回數字數目並列最多的組有多少個。示例 1 輸入 n 13 輸出 4 解釋 總共有 9 個組,將 1 到 13 按數字求和後這些組...
力扣 1399 統計最大組的數目
給你乙個整數 n 請你先求出從 1 到 n 的每個整數 10 進製表示下的數字和 每一位上的數字相加 然後把數字和相等的數字放到同乙個組中。請你統計每個組中的數字數目,並返回數字數目並列最多的組有多少個。示例 1 輸入 n 13 輸出 4 解釋 總共有 9 個組,將 1 到 13 按數字求和後這些組...