def solve(N):
@lru_cache(None)
def generate(now, nL, nR):
if now == 2 * N:
return ['']
results = []
if nL < N:
for combo in generate(now + 1, nL + 1, nR):
results.append('(' + combo)
if nR < nL:
for combo in generate(now + 1, nL, nR + 1):
results.append(')' + combo)
return results
return generate(0, 0, 0)
通過檢測
def solve(N): @lru_cache(None) def generate(now, nL, nR): if now == 2 * N: return [''] results = [] if nL < N: for combo in generate(now + 1, nL + 1, nR): results.append('(' + combo) if nR < nL: for combo in generate(now + 1, nL, nR + 1): results.append(')' + combo) return results return generate(0, 0, 0)#0: 100% AC (1.6s, 484.3MB)
通過檢測
記憶體壓線