博客
关于我
剑指offer JZ31 整数中1出现的次数
阅读量:335 次
发布时间:2019-03-04

本文共 637 字,大约阅读时间需要 2 分钟。

整数中1出现的次数

输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数
例如,1~13中包含1的数字有1、10、11、12、13因此共出现6次

思路一

遍历

public int NumberOf1Between1AndN_Solution(int n) {           //遍历,除以10取余,判断计数        int count = 0;        for(int i=1;i<=n;i++){               int t = i;            while(t!=0){                   if(t%10==1) count++;                t/=10;            }        }        return count;            }

思路二

从个位到十位、百位,判断每一位上出现1的次数
例1:n = 32 ,则个位上出现了4次(01、11、21、31)

以百位上1出现的次数为例考虑各种情况

1、百位为0 , 如n = 3021
2、百位为1, 如n = 3121
3、百位>=2,如n = 3521

显然这三种情况百位出现1的次数计算方法是有点不一样的

第一种:n=3021,百位1出现的次数就是 30/10100
第二种:n=3121,则对应 31/10
100 + 21 + 1
第三种:n=3521,则对应(35/10 + 1)*100

转载地址:http://dgle.baihongyu.com/

你可能感兴趣的文章
java中的字符串
查看>>
Idiot 的间谍网络
查看>>
MySql索引及使用、实现的数据结构
查看>>
初探SSRF漏洞
查看>>
四级单词部分(整理)
查看>>
JavaFX\FXML\CSS的简单使用
查看>>
【python】理解列表推导式以及列表推导式嵌套
查看>>
pythonBug入门——从零开始学python
查看>>
Vue.js——v-model结合checkbox类型——2020.11.22
查看>>
Mybatis核心配置文件--常用标签详解
查看>>
R语言练习题答案(3)
查看>>
jQuery 事件及动画
查看>>
求n内的素数,并打印出来(c语言)
查看>>
[电影]《Ladybird》演绎完整18岁的青春
查看>>
树莓派博通BCM2835芯片的IO口驱动代码调试和测试
查看>>
npm问题汇总
查看>>
Vue快速入门学习笔记(更新ing)
查看>>
js中[]、{}、()的区别
查看>>
js-禁止右键菜单代码、禁止复制粘贴代码
查看>>
血色先锋队
查看>>