第21375题 单选
求sum_digit函数的时间复杂度是多少?

sum_digit函数的功能是求出从1到n(包含1和n)的数中包含数字d的个数,其代码如下:

#include <string>
int count_digit(int n, char d) {
    int cnt = 0;
    std::string s = std::to_string(n);
    for (int i = 0; i < s.length(); i++)
        if (s[i] == d)
            cnt++;
    return cnt;
}
int sum_digit(int n, char d) {
    int sum = 0;
    for (int i = 1; i <= n; i++)
        sum += count_digit(i, d);
    return sum;
}
A

O(n log n)

B

O(n)

C

O(log n)

D

O(n²)

程序运行统计
暂无判题统计