博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指Offer-整数中1出现的次数(从1到n整数中1出现的次数)
阅读量:5324 次
发布时间:2019-06-14

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

题目描述

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

思路

把整数转换为字符串,遍历每一位判断是否为1

代码实现

package Other;/** * 整数中1出现的次数(从1到n整数中1出现的次数) * 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数? * 为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。 * ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。 */public class Solution21 {    public static void main(String[] args) {        Solution21 solution21 = new Solution21();        System.out.println(solution21.NumberOf1Between1AndN_Solution(10));    }    public int NumberOf1Between1AndN_Solution(int n) {        int count = 0;        while (n > 0) {            String str = String.valueOf(n);            char[] chars = str.toCharArray();            for (int i = 0; i < chars.length; i++) {                if (chars[i] == '1') {                    count++;                }            }            n--;        }        return count;    }}

转载于:https://www.cnblogs.com/wupeixuan/p/8623217.html

你可能感兴趣的文章
小程序开发笔记
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
安装scikit-learn过程记录
查看>>
数据库的标识符可以有多长
查看>>
新手村之循环!循环!循环!
查看>>
在创业公司上班的感受
查看>>
Shell脚本
查看>>
masm32V11配置
查看>>
ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath
查看>>
通过Python、BeautifulSoup爬取Gitee热门开源项目
查看>>
正则表达式的用法
查看>>
线程安全问题
查看>>
集合的内置方法
查看>>
IOS Layer的使用
查看>>
Android SurfaceView实战 带你玩转flabby bird (上)
查看>>
Android中使用Handler造成内存泄露的分析和解决
查看>>
SSM集成activiti6.0错误集锦(一)
查看>>
个人作业
查看>>
下拉刷新
查看>>
linux的子进程调用exec( )系列函数
查看>>