LeetCode(算法)- 233. 数字 1 的个数

Posted 放羊的牧码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(算法)- 233. 数字 1 的个数相关的知识,希望对你有一定的参考价值。

题目链接:点击打开链接

题目大意:

解题思路

相关企业

  • 亚马逊
  • 微软(Microsoft)
  • 苹果(Apple)

AC 代码

  • Java
class Solution 
    public int countDigitOne(int n) 
        int digit = 1, res = 0;
        int high = n / 10, cur = n % 10, low = 0;
        while(high != 0 || cur != 0) 
            if(cur == 0) res += high * digit;
            else if(cur == 1) res += high * digit + low + 1;
            else res += (high + 1) * digit;
            low += cur * digit;
            cur = high % 10;
            high /= 10;
            digit *= 10;
        
        return res;
    
  • C++ 
class Solution 
public:
    int countDigitOne(int n) 
        long digit = 1;
        int high = n / 10, cur = n % 10, low = 0, res = 0;
        while(high != 0 || cur != 0) 
            if(cur == 0) res += high * digit;
            else if(cur == 1) res += high * digit + low + 1;
            else res += (high + 1) * digit;
            low += cur * digit;
            cur = high % 10;
            high /= 10;
            digit *= 10;
        
        return res;
    
;

以上是关于LeetCode(算法)- 233. 数字 1 的个数的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode:233.数字1的个数

Leetcode 233.数字1的个数

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

LeetCode 233 数字1的个数[数学 找规律] HERODING的LeetCode之路

Leetcode 233 Number of Digit One

LeetCode233. 数字1的个数(数位dp)/1583. 统计不开心的朋友(模拟)/112. 路径总和 / 230. 二叉搜索树中第K小的元素 /968. 监控二叉树(树形dp)