Untitled
unknown
plain_text
2 years ago
1.0 kB
7
Indexable
class Solution: def partitionLabels(self, s: str) -> List[int]: def helper(s, index, seen): if index == len(s): return [] chosen_partition_lens = [] chosen_prefix_len = len(s) - index curr_prefix_len = 0 new_seen = set() for i in range(index, len(s)): if s[i] in seen: return False curr_prefix_len += 1 new_seen.add(s[i]) curr_partition_lens = helper(s, i+1, seen.union(new_seen)) if curr_partition_lens == False: continue if len(curr_partition_lens) > len(chosen_partition_lens): chosen_partition_lens = curr_partition_lens chosen_prefix_len = curr_prefix_len return [chosen_prefix_len] + chosen_partition_lens return helper(s, 0, set())
Editor is loading...