目标
给你一个整数 n。
返回将所有从 [1, n](包含两端)范围内的整数以 标准 数字格式书写时所用到的 逗号总数。
在 标准 格式中:
- 从右边开始,每 三位 数字后插入一个逗号。
- 位数 少于四位 的数字不包含逗号。
示例 1:
输入: n = 1002
输出: 3
解释:
数字 "1,000"、"1,001" 和 "1,002" 每个都包含一个逗号,总计 3 个逗号。
示例 2:
输入: n = 998
输出: 0
解释:
从 1 到 998 的所有数字位数都少于四位,因此没有使用逗号。
说明:
- 1 <= n <= 10^5
思路
返回 [1, n] 之间所有整数的标准写法中总共有多少逗号。所谓标准写法指从右开始每 3 个数字插入一个逗号,且逗号不能位于开头。
只需判断 1 ~ n 之间有多少个数字在 1,000 ~ 100,000 之间,返回 max(0, n - 999) 即可。
代码
/**
* @date 2026-09-08 9:04
*/
public class CountCommas3870 {
public int countCommas(int n) {
return Math.max(0, n - 999);
}
}
性能
