计数问题(python)

本文介绍了一个算法问题,即计算在1到n范围内整数中特定数字x出现的总次数。提供了一种解决方案,并通过示例说明了如何实现该算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9) 共出现了多少次?例如,在 1 到 11 中,即在 1,2,3,4,5,6,7,8,9,10,11 中,数字 1 出现了 4 次。

输入描述:

2 个整数 n,x ,之间用一个空格隔开。

输出描述:

1 个整数,表示 x 出现的次数。

示例

输入

11 1

输出

4

class Solution:
    def __init__(self) -> None:
        pass
    
    def solution(self, n):
        result = 0
        a = ""
        for i in range(1, n[0]+1):
            a = a + str(i)
        result = len(a.split(str(n[1])))-1

        # TODO: 请在此编写代码

        return result

if __name__ == "__main__":


    
    n = [int(item) for item in input().strip().split()]
    
    
    sol = Solution()
    result = sol.solution(n)

    print(result)

这里统计字符的时候本来用的是遍历判断,超时了,后来改成了这种,改之前:

		result = 0
        a = ""
        for i in range(1, n[0]+1):
            a = a + str(i)
        for item in a:
            if item == str(n[1]):
                result+=1

通过率100%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值