题解 | #整数中1出现的次数(从1到n整数中1出现的次数)#

整数中1出现的次数(从1到n整数中1出现的次数)

http://www.nowcoder.com/practice/bd7f978302044eee894445e244c7eee6

遍历所有位,将数分成三段,right x left 当x = 1时, 加上left后面的余数 当x < 1时,直接过 当x > 1时,right+1 个 pow(10,i-1)个1 这样每一位的1都被统计了

# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param n int整型 
# @return int整型
#
class Solution:
    def NumberOf1Between1AndN_Solution(self , n: int) -> int:
        # write code here
        s = str(n)
        l = len(s)
        i = l - 1
        num = 0
        while i >= 0:
            x = int(s[i])
            if i+1 == l:
                right = 0
            else:
                right = int(s[i+1:])
            if s[:i] == '':
                left = 0
            else:
                left = int(s[:i])
            base = pow(10, l-1-i)
            if x == 1:
                num += left * base + right + 1
            elif x < 1:
                num += left * base
            else:
                num += (left+1) * base
            i -= 1
        return num
            
                
全部评论

相关推荐

06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务