660. Remove 9 π
DifficultyHard
Description
Start from integer 1, remove any integer that contains 9 such as 9, 19, 29...
Now, you will have a new integer sequence [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, ...].
Given an integer n, return the nth (1-indexed) integer in the new sequence.
Example 1:
Input: n = 9 Output: 10
Example 2:
Input: n = 10 Output: 11
Constraints:
1 <= n <= 8 * 108
Solutions
Solution 1
Thinking
After dropping every natural number that contains a digit \(9\), find the \(n\)-th remaining value. Scanning until the \(n\)-th valid number is too slow for large \(n\).
Numbers without a \(9\) are exactly base-\(9\) numerals written with digits \(0..8\). Convert \(n\) to base \(9\). The solution tabs are still empty.
1 | |
1 | |
1 | |
1 | |