美文网首页
剑指Offer--1出现的个数

剑指Offer--1出现的个数

作者: lazydecoder | 来源:发表于2019-04-12 17:49 被阅读0次

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

题目描述

求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。

思路

# -*- coding:utf-8 -*-
class Solution:
    def NumberOf1Between1AndN_Solution(self, n):
        # write code here
        # write code here
        i = 1
        count = 0
        while i <= n:
            a ,b = int(n/i),n%i
            count += int((a+8)/10) * i + ((b+1) if a%10==1 else 0)
            i *= 10
        return count

相关文章

  • 剑指Offer--1出现的个数

    整数中1出现的次数(从1到n整数中1出现的次数) 题目描述 求出113的整数中1出现的次数,并算出1001300的...

  • 剑指Offer--1,二维数组查找

    在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序...

  • Java优先队列 剑指 Offer 40. 最小的k个数

  • [剑指offer] 最小的K个数

    本文首发于我的个人博客:尾尾部落 题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3...

  • 剑指Offer-- 1的个数

    输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。整数 i 与这个整数减 1 的值 i - 1,按位...

  • 【剑指 offer】最小的k个数

    1、题目描述 输入n个整数,找出其中最小的k个数。 注意: 数据保证k一定小于等于输入数组的长度; 输出数组内元素...

  • 剑指offer - 最小的k个数

    题目 输入n个数,找出其中最小的k个数。例如:输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、...

  • 剑指offer----整数中1出现的个数

    题目:求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1...

  • 剑指offer(四)

    剑指offer(四) 面试题四十:数组中只出现1次的数字 题目:一个整形数组里除了两个数字之外,其他的数字都出现了...

  • 剑指offer最优解Java版-滑动窗口的最大值

    剑指offer专题地址 剑指offer索引地址 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最...

网友评论

      本文标题:剑指Offer--1出现的个数

      本文链接:https://www.haomeiwen.com/subject/lskhwqtx.html