一.题目描述
Leectcode 233. 数字1的个数:给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。
二.示例
三.算法分析
主要思路:计算每一位上的数字对1的贡献。
例如整数110:
个位上对1的贡献:1,11,21,31,41,51,61,....,101。
十位上对1的贡献应是10,11,12,...,19,110。
百位上对1的贡献应该是100,101,...,110。
四.算法实现
class Solution(object):
def countDigitOne(self, n):
"""
:type n: int
&n