1~n这n个整数的十进制表示中1出现的次数

输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。

例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。

示例 1:

1
2
输入:n = 12
输出:5

示例 2:

1
2
输入:n = 13
输出:6

限制:

  • 1 <= n < 2^31

一、for循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution(object):
def countDigitOne(self, n):
"""
:type n: int
:rtype: int
"""
num = 0
for item in range(1, n+1):
item_str = str(item)
for item_srt_one in item_str:
if item_srt_one == '1':
num += 1
return num
s = Solution()

最终报错–<内存溢出>

image-20230824213104452

二、找规律

image-20230824230315261


1~n这n个整数的十进制表示中1出现的次数
https://ajieio.github.io/2023/08/24/num1/
作者
阿杰
发布于
2023年8月24日
许可协议