面试题43. 1~n 整数中 1 出现的次数
程序员文章站
2022-03-13 12:55:23
...
class Solution {
public int countDigitOne(int n) {
int ans = 0;
int digit = 1;
int high=n/10;
int low = 0;
int cur=n%10;
while(high!=0||cur!=0){
if(cur==0) ans+=digit*high;
else if(cur==1) ans+=high*digit+low+1;
else if(cur>1) ans+=(high+1)*digit;
low+=cur*digit;
digit*=10;
cur=high%10;
high/=10;
}
return ans;
}
}
推荐阅读
-
剑指offer31:整数中1出现的次数(从1到n整数中1出现的次数)
-
剑指offer JZ31 整数中1出现的次数 Python 解
-
C语言:编写程序数一下 1到 100 的所有整数中出现多少次数字 9
-
ASP计算str2在str1中出现的次数
-
【剑指offer】面试题56(1):数组中只出现一次的两个数字
-
【剑指offer】_11整数中1出现的次数
-
【LeeCode 中等 数学 python3】剑指 Offer 43. 1~n整数中1出现的次数
-
第一行包含一个正整数n,表示老师给出的序列有n个数,接下来有n行,每行一个正整数k,为序列中每一个元素的值。(1 ≤ n ≤ 105,1 ≤ k ≤ n) 输出一行,为去重排序后的序列
-
【练习题】给定两个整数n和k,返回1 ... n中k个数的所有组合
-
剑指offer 从1到n整数中1出现的次数