美文网首页【LeetCode】刷题总结
【LeetCode 】: 233. 数字 1 的个数

【LeetCode 】: 233. 数字 1 的个数

作者: LpSir | 来源:发表于2020-03-09 22:07 被阅读0次

233. 数字 1 的个数

问题描述:

给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。

[题目链接](https://leetcode-cn.com/problems/number-of-digit-one/
/])

示例1

输入: 13
输出: 6
解释: 数字 1 出现在以下数字中: 1, 10, 11, 12, 13 。

完整代码:

class Solution {
    public int countDigitOne(int n) {
        if(n <= 0) return 0;
        if (n < 10) return 1;
        char c[] = String.valueOf(n).toCharArray();

        int highNum = c[0] - '0';
        int size = c.length;
        int withoutHigh = n - highNum * (int)Math.pow(10 , size - 1);
        int firstCount = highNum == 1 ? (withoutHigh + 1) : (int)Math.pow(10 , size - 1);

        int otherCOunt = highNum * (size - 1) * (int)Math.pow(10 , size - 2);


        return firstCount + otherCOunt + countDigitOne(withoutHigh);
    }
}

附加GitHub链接

相关文章

  • 1~n 整数中 d 出现的次数

    这是一道有趣的算法题,题目见: 233. 数字 1 的个数[https://leetcode-cn.com/pro...

  • 【LeetCode 】: 233. 数字 1 的个数

    233. 数字 1 的个数 问题描述: 给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。...

  • leetcode 233. 数字1的个数

    题目描述 给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。相关话题: 数学    难度:...

  • 233. 数字 1 的个数

    给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。 示例: 输入: 13输出: 6解释: ...

  • LeetCode答题记录233. 数字1的个数

    给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。输入: 13输出: 6解释: 数字 1 ...

  • 2019-02-01

    LeetCode 233. Number of Digit One Description Given an in...

  • DAY7 一的个数

    剑指Offer 43:1~n整数中1出现的次数 Leetcode 233. Number of Digit One...

  • 357. 统计各位数字都不同的数字个数

    357. 统计各位数字都不同的数字个数 - 力扣(LeetCode) (leetcode-cn.com)[http...

  • ARTS第五周

    Algorithm leetCode 202 Happy Number将数字的每一个数字平方求和,如果等于1就是h...

  • 2019-01-19 Day 14

    1.缺失数字来源LeetCode给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. ...

网友评论

    本文标题:【LeetCode 】: 233. 数字 1 的个数

    本文链接:https://www.haomeiwen.com/subject/tfomdhtx.html