3800 - 3899
3870 - Count Commas in Range (Easy)
Problem Link
https://leetcode.com/problems/count-commas-in-range
Problem Statement
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 <= 1e5
Approach 1: Math
Since , every number in the range contains at most one comma.
- Numbers from through contain no commas.
- Numbers from through contain exactly one comma.
Therefore,
- if , the number of integers containing a comma is .
- else, no commas are used. Combining both cases, the answer is .
Complexity Analysis:
- Time Complexity:
- Space Complexity:
class Solution:
def countCommas(self, n: int) -> int:
return max(n - 999, 0)