Given two integers, n and k, return the [1, n] when the numbers are sorted lexicographically.
Note: Lexicographical sorting means ordering numbers like words in a dictionary (alphabetical order)—digit by digit from left to right. For example, the numerical order of 1, 5, and 10 is [1, 5, 10], but their lexicographical order is [1, 10, 5].
Constraints:
k n
This problem aims to find the n. Instead of generating and sorting all numbers from n, which would be too slow for large n, let’s take a smarter route by imagining these numbers arranged in a trie. Each node represents a number in a trie, and its children are formed by adding more digits to the end. For example, the root has children
In this solution, we use some math to traverse the trie until we reach the k by
Given two integers, n and k, return the [1, n] when the numbers are sorted lexicographically.
Note: Lexicographical sorting means ordering numbers like words in a dictionary (alphabetical order)—digit by digit from left to right. For example, the numerical order of 1, 5, and 10 is [1, 5, 10], but their lexicographical order is [1, 10, 5].
Constraints:
k n
This problem aims to find the n. Instead of generating and sorting all numbers from n, which would be too slow for large n, let’s take a smarter route by imagining these numbers arranged in a trie. Each node represents a number in a trie, and its children are formed by adding more digits to the end. For example, the root has children
In this solution, we use some math to traverse the trie until we reach the k by