add new solutions
This commit is contained in:
parent
9c2c959a9b
commit
9a10695e8c
29 changed files with 1074 additions and 2 deletions
27
solutions/0/q22/solution.go
Normal file
27
solutions/0/q22/solution.go
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
package q22
|
||||
|
||||
func gen(n, lvl, used int, buf []byte, ret []string) []string {
|
||||
if buf == nil {
|
||||
buf = make([]byte, 0, n*2)
|
||||
}
|
||||
if len(buf) == n*2 {
|
||||
return append(ret, string(buf))
|
||||
}
|
||||
|
||||
if used < n {
|
||||
buf = append(buf, '(')
|
||||
ret = gen(n, lvl+1, used+1, buf, ret)
|
||||
buf = buf[:len(buf)-1]
|
||||
}
|
||||
if lvl > 0 {
|
||||
buf = append(buf, ')')
|
||||
ret = gen(n, lvl-1, used, buf, ret)
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
func generateParenthesis(n int) []string {
|
||||
return gen(n, 0, 0, nil, nil)
|
||||
}
|
||||
|
||||
var _ = generateParenthesis
|
||||
Loading…
Add table
Add a link
Reference in a new issue