leetcode--括号生成--python
文章目录
- 题目
- 题目详情
- 示例
- 解题思路
- 思路
- 代码
- 运行结果
- 最佳方案
题目
题目详情
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。
示例
例如,给出 n = 3,生成结果为:["((()))","(()())","(())()","()(())","()()()"
]
解题思路
思路
- 运用回溯法
- 回溯法的主要思想是从一条路往前走,能进则进,不能进则退回来,换一条路再试
代码
class Solution(object):def generateParenthesis(self, N):ans = []def backtrack(S = '', left = 0, right = 0):if len(S) == 2 * N: ans.append(S) returnif left < N:backtrack(S+'(', left+1, right)if right < left:backtrack(S+')', left, right+1)backtrack()return ansif __name__ == "__main__":obj = Solution()obj.generateParenthesis(3)
运行结果
最佳方案
36ms
class Solution:cache = {1: ['()'], 0: ['']}def generateParenthesis(self, n):ret = []if n in self.cache:return self.cache[n]for i in range(n):inners = self.generateParenthesis(i)outers = self.generateParenthesis(n-i-1)for inner in inners:for outer in outers:ret.append('(' + inner + ')' + outer)return ret
leetcode--括号生成--python相关推荐
- 括号生成Python解法
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合. 有效括号组合需满足:左括号必须以正确的顺序闭合. 例: 输入:n = 3 输出:["((()) ...
- LeetCode 21合并两个有序链表22括号生成
微信搜索bigsai,回复进群,加入打卡.维护不易,欢迎点赞支持! 合并两个有序列表 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1 ...
- LeetCode Algorithm 22. 括号生成
22. 括号生成 Ideas 这是一道动态规划的题目,关于动态规划的题目我们可以从n比较小的情况下开始逐步分析. 当n=1时,["()"] 当n=2时,["()()&qu ...
- [DFS|剪枝] leetcode 22 括号生成
[DFS|剪枝] leetcode 22 括号生成 1.题目 题目链接 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合. 示例: 输入:n = 3 输出:[& ...
- LeetCode.M22.括号生成
LeetCode.M22 题目: 题目大意: 给定一个n,使用n对括号,生成所有合法的括号组合并返回. 数据范围: 如图所示 思路: 使用递归.每层递归考虑是添加一个"(" ...
- Leetcode 22. 括号生成(递归+去重)
22. 括号生成 思路: 递归+map去重: 递归函数声明: vector<string> generateParenthesis(int n); 递归出口: 当n=1时,返回{" ...
- Leetcode-笔记-22.括号生成--递归
Leetcode-笔记-22.括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合. 示例 1: 输入:n = 3 输出:["((()))& ...
- LeetCode刷题Python实录
使用Python的LeetCode刷题 前言 题目 1408. 数组中的字符串匹配 508. 出现次数最多的子树元素和 1089. 复写零 剑指 Offer 14- I. 剪绳子 1175. 质数排列 ...
- 这个VS Code扩展可以自动生成Python文档字符串
机器之心报道 编辑:魔王 该扩展利用可处理编程语言和自然语言的预训练模型 CodeBERT,实现快速生成 Python 文档字符串的功能. Visual Studio Code(简称 VS Code) ...
- 利用CodeBERT,这个VS Code扩展可以自动生成Python文档字符串
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自:机器之心 该扩展利用可处理编程语言和自然语言的预训练模型 CodeBERT,实现 ...
最新文章
- 【驱动】GNSS驱动:gpsOneXTRA 援助技术
- 洛谷 P1308/暂无题解
- php接口数据加密、解密、验证签名【转】
- String Modification CodeForces - 1316B(规律)
- 依赖: ros-melodic-desktop 但是它将不会被安装_npm系列之依赖管理
- Python 对象的初始化函数及调用函数
- 计算机桌面上的公文包怎么加密,公文包的用法
- PYSQLITE用法初探
- 计算机算法设计与分析 旅行售货员问题
- 从零开始的网站搭建,服务器与域名管理
- 自学微信小程序开发第六天- TODOS案例
- 五日均线指标编程案例讲解
- 解决:Android中常见的热门标签的流式布局flowlayout不能wrap_content
- 修改idea的头部文档注释信息
- 计算机硬件故障注入,容错箭载计算机的硬件故障注入方法研究.pdf
- 任意多个数字求平均数
- “高通”字库芯片的使用方法
- 平面几何中的有名定理 PPT
- eolinker接口测试平台的安装部署
- 诺基亚(NOKIA)手机 功能代码
热门文章
- base64格式的图片数据如何转成图片
- Console-算法[if,while]-一输入两个正整数m和n,求其最大公约数和最小公倍数
- 配置国内 Docker Registry Mirror
- 黑色星期五阿里云向海淘输出双11技术
- 后台接口向数据库录入汉字时乱码以及自动过滤文字经验总结
- ionic + cordova+angularJs 搭建的H5 App完整版总结
- jquery源码分析(七)——事件模块 event(二)
- 【DAY23】JVM与反射的学习笔记
- [BZOJ2796][Poi2012]Fibonacci Representation
- 基于Bootstrap里面的Button dropdown打造自定义select