题解 | #括号生成#

括号生成

https://www.nowcoder.com/practice/c9addb265cdf4cdd92c092c655d164ca

package main

/**
 *
 * @param n int整型
 * @return string字符串一维数组
 */
func generateParenthesis(n int) []string {
	ans := make([]string, 0)
	var dfs func(pos int, n int, m int, vis []int)
	dfs = func(pos int, n int, m int, vis []int) {
		m++
		if pos == n-1 {
			vis[pos] = m
			arr := make([]byte, 0)
			for i := 0; i < n; i++ {
				arr = append(arr, '(')
				for j := 0; j < vis[i]; j++ {
					arr = append(arr, ')')
				}
			}
			ans = append(ans, string(arr))
			return
		}
		for i := 0; i <= m; i++ {
			vis[pos] = i
			dfs(pos+1, n, m-i, vis)
			vis[pos] = 0
		}
	}
	dfs(0, n, 0, make([]int, n))
	return ans
	// write code here
}

全部评论

相关推荐

12-14 11:43
黑龙江大学 Java
用微笑面对困难:确实比较烂,可以这么修改:加上大学的qs排名,然后大学简介要写一些,然后硕士大学加大加粗,科研经历第一句话都写上在复旦大学时,主要负责xxxx,简历左上角把学校logo写上,建议用复旦大学的简历模板
点赞 评论 收藏
分享
12-24 14:26
东北大学 Java
一只乌鸦:重邮+东北,好经典的学校
最后再改一次简历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务