EV
Size: a a a
EV
DB
𝖆
EV
DB
YG
YG
TZ
EV
YG
YG
DB
YG
TZ
TZ
DB
DB
YG
YG
𝖆
def min_order(num):
return 1 if num%10 else 10*min_order(num//10)
def prefixes(low, high):
def forward(num, order):
nxt = num + order
if nxt == high + 1:
return [num//order]
if nxt > high + 1:
return backward(num, order//10)
if not num%(order*10):
return forward(num, order*10)
return [num//order] + forward(nxt, order)
def backward(num, order):
nxt = num + order
if nxt == high + 1:
return [num//order]
if nxt > high + 1:
return backward(num, order//10)
return [num//order] + backward(nxt, order)
return forward(low, min_order(low))