数字N(0-9)出现的个数
import java.util.Scanner;
class Solution {
public int numberOf2sInRange(int n) {
return solve(n, 2);
}
private int solve(int n, int t) {
long base = 1;
int ans = 0;
while (n >= base) {
ans += n / (base * 10) * base + Math.min(base, Math.max(0, n % (base * 10) - t * base + 1));
base *= 10;
}
return ans;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
System.out.println(new Solution().numberOf2sInRange(in.nextInt()));
}
}
}
心之所向,素履以往 生如逆旅,一苇以航

浙公网安备 33010602011771号