Skip to content

Instantly share code, notes, and snippets.

@kuntalchandra
Created September 19, 2020 10:56
Show Gist options
  • Save kuntalchandra/f15f51d62cd24f9e059fc9a82d72dbab to your computer and use it in GitHub Desktop.
Save kuntalchandra/f15f51d62cd24f9e059fc9a82d72dbab to your computer and use it in GitHub Desktop.
Sequential Digits
""""
An integer has sequential digits if and only if each digit in the number is one more than the previous digit.
Return a sorted list of all the integers in the range [low, high] inclusive that have sequential digits.
Example 1:
Input: low = 100, high = 300
Output: [123,234]
Example 2:
Input: low = 1000, high = 13000
Output: [1234,2345,3456,4567,5678,6789,12345]
Time and Space: O(1)
"""
from typing import List
class Solution:
def sequentialDigits(self, low: int, high: int) -> List[int]:
possibilities = [
12,
23,
34,
45,
56,
67,
78,
89,
123,
234,
345,
456,
567,
678,
789,
1234,
2345,
3456,
4567,
5678,
6789,
12345,
23456,
34567,
45678,
56789,
123456,
234567,
345678,
456789,
1234567,
2345678,
3456789,
12345678,
23456789,
123456789,
]
n = len(possibilities)
res = []
for i in range(n):
if possibilities[i] < low:
continue
elif possibilities[i] > high:
break
res.append(possibilities[i])
return res
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment