| 3 | Digit Counts | 统计前n个元素中包含k的个数,k<9,n可以大于10,直接用str.join(list)融合数组, str.count(str(k))统计个数 |
| join(): ''.join(), 无间隔的融合list为string count(): str.count(k), 计算string中k的个数 用[]构造list: [str(i) for i in range(3)], 输出['0', '1', '2'] |
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sat Dec 23 21:17:24 2017
@author: vicky
"""
class Solution:
"""
@param: : An integer
@param: : An integer
@return: An integer denote the count of digit k in 1..n
"""
def digitCounts(self, k, n):
# write your code here
a=int(n/10)
b=n-a*10
t=0
if a>0:
for i in range(a):
if i+1==k:
t+=1
for i in range(b):
if i+1==k:
t+=1
else:
for i in range(b):
if i+1==k:
t+=1
return t
#3. 统计数字
#计算数字k在0到n中的出现的次数,k可能是0~9的一个值
#例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12)
class Solution:
# @param k & n two integer
# @return ans a integer
def digitCounts(self, k, n):
L = ''.join([str(i) for i in range(n+1)]) #直接融合所有string
c = L.count(str(k))
return c
本文介绍了一种统计指定数字k在从0到n的整数序列中出现次数的方法。通过将整数序列转换为字符串并利用Python内置函数进行计数,实现了高效准确的统计。文章提供了具体的Python代码实现。
2072

被折叠的 条评论
为什么被折叠?



