算法: 整数中 1 出现的次数
2022/8/11 14:24:09
本文主要是介绍算法: 整数中 1 出现的次数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
问题
- 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。
例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。
解决
class Solution { public int countDigitOne(int n) { int cin=0; // 1出现的次数 //1、暴力解法(枚举):记录每一个数上1的次数 //每10个数之间,个位上只出现1个1 //每100个数之间,十位上只出现10个1 //每1000个数之间,百位上只出现100个1 // 每一位上面出现1的个数是前一个位/10 //以1000上面百位的1为例 找出规律 ,k=100,n为输入数字 // (n/1000)*100+Math.min(Math.max(n%(1000)-100+1,0),100); int mulk=1; for(int k=0;mulk<=n;++k){ cin+=(n/(mulk*10))*mulk+Math.min(Math.max(n%(mulk*10)-mulk+1,0),mulk); mulk*=10; } return cin; } } //返回所有1出现的次数,每一位上
这篇关于算法: 整数中 1 出现的次数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?