[nb] Commit
This commit is contained in:
		| @@ -1,17 +1,30 @@ | ||||
| function generateParenthesis(n) { | ||||
|   if (n == 1) { | ||||
|     return ['()']; | ||||
|   } | ||||
|   const output = [] | ||||
|   const rec = (input = [], left = 0, right = 0) => { | ||||
|     if (input.length === 2*n) { | ||||
|       output.push(input.join('')); | ||||
|       console.log('sol'); | ||||
|       return | ||||
|     } | ||||
|     if (left < n) { | ||||
|       input.push('('); | ||||
|       console.log(input.join('') + ' l=' + left + ' r=' + right) | ||||
|       rec(input, left+1, right); | ||||
|       console.log('back left'); | ||||
|       input.pop(); | ||||
|     } | ||||
|  | ||||
|   if (n == 2) { | ||||
|     return ['()()', '(())']; | ||||
|   } | ||||
|  | ||||
|   const input = []; | ||||
|   for (i = 0; i < n; i++) { | ||||
|     input.push('()'); | ||||
|   } | ||||
|  | ||||
|   for(i = 0; i < n; i++; i++) { | ||||
|   } | ||||
|     if (right < left) { | ||||
|       input.push(')'); | ||||
|       console.log(input.join('') + ' l=' + left + ' r=' + right) | ||||
|       rec(input, left, right+1); | ||||
|       console.log('back right l=' + left); | ||||
|       input.pop(); | ||||
|       console.log(input.join('') + ' l=' + left + ' r=' + right) | ||||
|     } | ||||
|   }; | ||||
|   rec(); | ||||
|   return output; | ||||
| } | ||||
|  | ||||
| console.log(generateParenthesis(3)); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user