首页 > 其他分享 >leetcode-1399-easy

leetcode-1399-easy

时间:2022-11-29 21:56:43浏览次数:35  
标签:count 1399 int max sum result easy groups leetcode

Count Largest Group

You are given an integer n.

Each number from 1 to n is grouped according to the sum of its digits.

Return the number of groups that 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.
Constraints:

1 <= n <= 104

思路一:本来想从数学上看看怎么解决,发现规律比较复杂,最后用暴力过了

public int countLargestGroup(int n) {
    int[] count = new int[37];

    for (int i = 1; i < n + 1; i++) {
        count[count(i)]++;
    }

    int max = count[0];
    int result = 0;
    for (int k : count) {
        if (k == max) {
            result++;
        } else if (k > max) {
            result = 1;
            max = k;
        }
    }

    return result;
}

public int count(int x) {
    int sum = 0;
    while (x > 9) {
        sum += x % 10;
        x /= 10;
    }

    return sum + x;
}

标签:count,1399,int,max,sum,result,easy,groups,leetcode
From: https://www.cnblogs.com/iyiluo/p/16936838.html

相关文章