Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
slice solution in Clear category for Staircase by kurosawa4434
def staircase(digits: str) -> int:
stack = [(digits, [-1])]
result = 0
while stack:
sub_digits, nums = stack.pop()
if not sub_digits:
result = max(len(nums), result)
for i in range(len(sub_digits)):
for j in range(len(sub_digits[i:])):
if (next_num := int(sub_digits[i:i + j + 1])) > nums[-1]:
stack.append((sub_digits[i + j + 1:], nums + [next_num]))
return result - 1
Aug. 7, 2023