Medium
Construct Smallest Number From DI String — Python
Full explanation · Time O(n) · Space O(1)
# Time: O(n)
# Space: O(1)
# constructive algorithms
class Solution(object):
def smallestNumber(self, pattern):
"""
:type pattern: str
:rtype: str
"""
result = []
for i in xrange(len(pattern)+1):
if not (i == len(pattern) or pattern[i] == 'I'):
continue
for x in reversed(range(len(result)+1, (i+1)+1)):
result.append(x)
return "".join(map(str, result))