8.2 十进制数字1的个数
1 1~n 整数中 1 出现的次数
问题描述
- 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。
问题分析
问题分类
- 数值问题
策略选择
算法设计
算法分析
- 时间复杂度 O(logn) : 循环内的计算操作使用 O(1)时间;循环次数为数字 n 的位数,即logn ,因此循环使用O(logn)时间。
- 空间复杂度 O(1)O(1) : 几个变量使用常数大小的额外空间。
算法实现
1 | int countDigitOne(int n) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!









