Skip to content

3870. Count Commas in Range

Description

You are given an integer n.

Return the total number of commas used when writing all integers from [1, n] (inclusive) in standard number formatting.

In standard formatting:

  • A comma is inserted after every three digits from the right.
  • Numbers with fewer than 4 digits contain no commas.

Β 

Example 1:

Input: n = 1002

Output: 3

Explanation:

The numbers "1,000", "1,001", and "1,002" each contain one comma, giving a total of 3.

Example 2:

Input: n = 998

Output: 0

Explanation:

All numbers from 1 to 998 have fewer than four digits. Therefore, no commas are used.

Β 

Constraints:

  • 1 <= n <= 105

Solutions

Solution 1: Brain Teaser

Numbers from 1 to 999 contain no commas, so when \(n\) is less than or equal to 999, the answer is 0.

Since the range of \(n\) is \([1, 10^5]\), when \(n\) is greater than or equal to 1000, each number contains exactly one comma, so the answer is \(n - 999\).

Therefore, the answer is \(\max(0, n - 999)\).

The time complexity is \(O(1)\), and the space complexity is \(O(1)\).

1
2
3
class Solution:
    def countCommas(self, n: int) -> int:
        return max(0, n - 999)
1
2
3
4
5
class Solution {
    public int countCommas(int n) {
        return Math.max(0, n - 999);
    }
}
1
2
3
4
5
6
class Solution {
public:
    int countCommas(int n) {
        return max(0, n - 999);
    }
};
1
2
3
func countCommas(n int) int {
    return max(0, n-999)
}
1
2
3
function countCommas(n: number): number {
    return Math.max(0, n - 999);
}

Comments