文章内就不再贴题目了,有需要大家可以直接去OJ上查看—统计字数问题。
1. 算法描述
本题目采用了排列组合的思想。分别计算每个数字在每一位上出现的次数,累加之后,即为最后的结果。
需要特别注意的是,我们直接用排列组合直接计算,但是并没有把0 和其他数字分开来算,
所以这样计算出来的结果就是把前导0 也一起算进去了,所以输出结果前应该减掉所有前导0。
文字说明不够直观,下面我举个栗子来帮助大家理解这个算法
栗子
page:25634
| 位次 | 该位上数字 | 0-9 共同出现的次数 | 小于该位上数字的数额外加的值 | 等于该位上的数字的数额外加的值 |
| 个位 | 4 | 2563 * 1 | +1 | +1 |
| 十位 | 3 | 256 * 10 | +10 | +4 |
| 百位 | 6 | 25 * 100 | +100 | +34 |
| 千位 | 5 | 2 * 1000 | +1000 | +634 |
| 万位 |

本文主要介绍了统计字数问题的算法,通过一个具体的栗子进行说明,页面编号为25634。文章详细阐述了算法描述,提供了代码实现,并对算法的时间复杂度进行了分析,指出其为lg(n)。
最低0.47元/天 解锁文章





