• 算法: 整数中1出现的次数(从1到n整数中1出现的次数)


    问题: 整数中1出现的次数(从1到n整数中1出现的次数)
    问题:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?
     为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。
     ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。
    思路:
     * 1:将整数转化为字符串
     * 2:从n开始循环求,while(n>0)  字符串中1的个数
     * 3:n--;
    package LG.nowcoder;
    
    /**
     * @Author liguo
     * @Description 整数中1出现的次数(从1到n整数中1出现的次数)
     * @问题:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?
     * 为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。
     * ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。
     * @思路:
     * 1:将整数转化为字符串
     * 2:从n开始循环求,while(n>0)  字符串中1的个数
     * 3:n--;
     * @Data 2018-08-17 8:24
     */
    public class Solution12 {
        public int NumberOf1Between1AndN_Solution(int n) {
            int count=0;        //统计n的个数
            while(n>0){            
                String str=String.valueOf(n);       
                char [] chars=str.toCharArray();        
                for(int i=0;i<chars.length;i++){       //统计字符串中包含1的个数;
                    if(chars[i]=='1')
                        count++;
                }
                n--;
            }
            return count;
        }
    }

  • 相关阅读:
    构造函数和属性初始化
    C#3.0新增功能06 对象和集合初始值设定项
    C#动态操作DataTable(新增行、列、查询行、列等)
    快速排序
    HTML5原生拖放实例分析
    从web移动端布局到react native布局
    Chrome浏览器Network面板http请求时间分析
    CSS3之3D变换实例详解
    移动端行列布局
    SVG描边动画原理
  • 原文地址:https://www.cnblogs.com/liguo-wang/p/9491352.html
Copyright © 2020-2023  润新知