Core Skill

Problems

Pattern

for j in range(i, len(s)):
    if is_valid(s[i:j]):
        path.append(...)
        dfs(j+1)
        path.pop()

Concept