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的个数[数学 找规律] HERODING的LeetCode之路
Leetcode 233 Number of Digit One
LeetCode233. 数字1的个数(数位dp)/1583. 统计不开心的朋友(模拟)/112. 路径总和 / 230. 二叉搜索树中第K小的元素 /968. 监控二叉树(树形dp)