leetcode 1399 統計最大組的數目

2021-10-23 08:12:26 字數 1142 閱讀 3038

給你乙個整數 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 按數字求和後這些組...