时间效率:整数中1出现的次数(从1到n整数中1出现的次数)
2024-10-11 08:59:37
求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。
代码一:
代码二(很精简,但不明白):
public class Solution {
public int NumberOf1Between1AndN_Solution(int n) {
int ones = 0;
for (long m = 1; m <= n; m *= 10)
ones += (n/m + 8) / 10 * m + (n/m % 10 == 1 ? n%m + 1 : 0);
return ones;
}
}
最新文章
- Java套接字
- Thymeleaf学习内容
- Qt 添加资源文件
- linux系统中如何查看日志 (常用命令2)
- Leetcode#105 Construct Binary Tree from Preorder and Inorder Traversal
- config spec
- Android-java.lang.RuntimeException: Can&#39;t create handler inside thread that has not called Looper.prepare()
- 通过本地加载ga.js文件提高Google Anlytics性能
- js中的|| 与 &;&;
- C# 仿百度自动匹配
- ch4-计算属性(表达式计算 computed methods watchers)
- 7、树莓派编程;gpio编程;led闪烁
- 自己常用vs code 插件
- PCF学习知识
- BZOJ3876[Ahoi2014&;Jsoi2014]支线剧情——有上下界的最小费用最大流
- Angularjs自定义指令计算浏览器高度
- [转]xml解析工具的效率比较QDomDocument、TinyXml-2、RapidXml、PugiXml
- IIS asp 401.1错误
- IIS挂起网站配置文件地址
- HTML5 Canvas ( 图形的透明度和遮盖 ) globalAlpha, globalCompositeOperation