题解
【入门】COUNT
1 条题解
-
0
解题思路
逐页取出页码的每一位数字,统计数字 0 到 9 的出现次数。
参考代码
// 先读入题目给出的数据。 // 再按照题目要求进行计算。 // 最后按规定格式输出答案。 #include <iostream> using namespace std; int main() { int n, a[10] = {}; cin >> n; // 逐页查看页码,把页码中的每一位数字取出来统计。 for (int i = 1; i <= n; i++) { int x = i; while (x) { a[x % 10]++; x /= 10; } } // 第i行对应数字i。 for (int i = 0; i < 10; i++) cout << a[i] << endl; return 0; }复杂度分析
排序需要 O(n^2) 时间;其余循环按照实际遍历次数计算。代码使用固定大小数组,额外空间复杂度为 O(1) 或 O(n)。
- 1