From 2cfc402fddffaf42b9f30a3d277d164a2f2e94b8 Mon Sep 17 00:00:00 2001 From: bumpsoo Date: Sun, 8 Jun 2025 08:34:17 +0000 Subject: [PATCH] https://leetcode.com/problems/lexicographical-numbers --- medium/lexicographical_numbers.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 medium/lexicographical_numbers.py diff --git a/medium/lexicographical_numbers.py b/medium/lexicographical_numbers.py new file mode 100644 index 0000000..ccb29bb --- /dev/null +++ b/medium/lexicographical_numbers.py @@ -0,0 +1,20 @@ +# https://leetcode.com/problems/lexicographical-numbers + +from typing import List + +class Solution: + def lexicalOrder(self, n: int) -> List[int]: + result: List[int] = [] + s: List[int] = [int(x) for x in list(str(n))] + def iterate(curr: int, length: int, curr_index: int): + if curr_index >= len(s): + return + for num in range(1 if curr_index == 0 else 0, 10): + new_curr = (curr * 10) + num + if new_curr > n: + break + result.append(new_curr) + iterate(new_curr, length + 1, curr_index + 1) + + iterate(0, 0, 0) + return result