剑指offer:整数中1出现的次数
题目描述:
求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。
思路分析:
这道题直接对每一个数字做判断,再累计,很繁琐。对每个数字都要做除法和求余运算以求出该数字中1出现的次数。如果输入数字n,n有O(logn)位,我们需要判断每一位是不是1,那么时间复杂度为O(n*logn)。这样做,计算量大,效率不高。
参考的同样是这个老哥的博客:https://cuijiahua.com/blog/2017/12/basis_31.html
借用的是数学之美里面的方法,方法很巧妙,同时代码也非常简洁。
代码:
 class Solution {
 public:
     int NumberOf1Between1AndN_Solution(int n)
     {
         int count=;
         for(int i=; i<=n; i=i*)
         {
             int a=n/i;
             int b=n%i;
             count += (a+)/*i + (a%==)*(b+);
         }
         return count;
     }
 };
剑指offer:整数中1出现的次数的更多相关文章
- 剑指Offer 整数中1出现的次数(从1到n整数中1出现的次数)
		
题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...
 - 剑指Offer——整数中1出现的次数(从1到n整数中1出现的次数)
		
题目描述: 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了 ...
 - 剑指offer 整数中1 出现的次数
		
给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有"1"的个数. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...
 - 剑指offer--36.整数中1出现的次数(从1到n整数中1出现的次数)
		
暴力挨个数 ---------------------------------------------------------------------- 时间限制:1秒 空间限制:32768K 热度指 ...
 - 剑指Offer-31.整数中1出现的次数(从1到n整数中1出现的次数)(C++/Java)
		
题目: 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了.A ...
 - 剑指offer32 整数中1出现的次数(从1到n整数中1出现的次数)
		
class Solution { public: int NumberOf1Between1AndN_Solution(int n) { ) ; ; ; while(i<=n) { int p= ...
 - 剑指 Offer —— 数组中重复的数字
		
数组中的重复数字 题目描述 牛课网链接 长度为 n 的数组里,所有数字都在 0 到 n-1 的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一 ...
 - 剑指offer 数组中重复的数
		
在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为7的数组{ ...
 - 剑指offer-整数中1出现的次数
		
题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...
 - 剑指offer-整数中1出现的次数27
		
题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...
 
随机推荐
- Linux三剑客grep/sed/awk
			
grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color ...
 - restframework中根据请求的类型修改序列化类
			
只要在视图中重写get_serializer_class方法就可以,用if对请求的类型进行判断 def get_serializer_class(self): if self.action == &q ...
 - 用navicat操作oracle新建表空间、用户名、密码
			
转载从:https://www.cnblogs.com/franson-2016/p/5925593.html 首先.我们来新建一个表空间.打开Navicat for Oracle,输入相关的的连接信 ...
 - 自定义View(一),初识自定义View
			
看了无数资料,总结一下自定义View 先明白一个自定义View的三大流程 onMeasure() 测量,决定View的大小 onLayout() 布局,决定View在ViewGroup中的位置 onD ...
 - 云计算与大数据实验:Hbase shell终端操作之数据操作一
			
[实验目的] 1)学会向表中添加记录 2)学会添加记录时动态添加列 3)学会查看一条记录 4)学会查看表中的记录总数 5)学会删除记录 [实验原理] Hbase shell作为Hbase数据的客户端, ...
 - FreeBSD更换国内源(pkg源使用台湾源,中科大源备用)
			
安装后第一件事就是更换国内源,不然后面安装桌面等,不用国内源下载太慢. 修改 pkg 源 创建用户级 pkg 源目录:mkdir -p /usr/local/etc/pkg/repos ee /usr ...
 - Win10 微软远程桌面很模糊是为什么?
			
今天又查了一下,解决了问题,是 Intel 集显驱动引起的.在桌面右键 => 图形属性 => 在蓝色的 Intel 核芯显卡控制面板上选择“ 3D ” => 在“保守形态学抗锯齿”中 ...
 - InnoDB存储引擎与MyIsam存储引擎的区别
			
特性比较 mysql5.5之后默认的存储引擎为InnoDB,在此之前默认存储引擎是MyIsam 特点 MyIsam InnoDB 锁机制 表锁 行锁 事务 不支持 支持 外键 不支持 支持 B树索引 ...
 - The Tower(HDU6559+2018年吉林站+数学)
			
题目链接 传送门 题意 告诉你圆锥的底部圆的半径和圆锥的高,再给你一个点的坐标及其运动向量,问你这个点什么时候会与这个圆锥相撞. 思路 比赛场上二分一直没过但是有人二分过了,今天再写这题想再试下二分, ...
 - python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'的解决方法:
			
全文转载至:http://www.cnblogs.com/testyao/p/5658200.html python3中用HTMLTestRunner.py报ImportError: No modul ...