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)
通過檢測
記憶體壓線