LeetCode 233.数字 1 的个数/《剑指Offer》43.1~n整数中1出现的次数 发表于 2020-03-11 | 更新于 2020-04-10 | 分类于 leetcode | 浏览 次 字数统计: 142 给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。 示例: 123输入: 13输出: 6 解释: 数字 1 出现在以下数字中: 1, 10, 11, 12, 13 。 方法一:暴力法12345678910111213141516171819class Solution { public int countDigitOne(int n) { int count = 0; for (int i = 1; i <= n; i++) { count += countDigitOne0(i); } return count; } public int countDigitOne0(int n) { int count = 0; while (n != 0) { if (n % 10 == 1) { count ++; } n /= 10; } return count; }} 复杂度分析:时间复杂度为$O(n \log_{10} n)$,空间复杂度为O(1)。 ----------本文结束感谢您的阅读---------- 坚持原创技术分享,您的支持将鼓励我继续创作! 打赏 微信支付 支付宝 本文作者: Gongshan He 本文链接: https://www.hegongshan.com/2020/03/11/leetcode-233-number-of-digit-one/ 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!