当前位置: 首页 > news >正文

和田网站建设长春关键词优化报价

和田网站建设,长春关键词优化报价,北京专业网站建设公司排名,阆中 网站建设LeetCode 22. 括号生成 题目描述 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 解题思路 天天到处看答案,看的灵神的解题思路回溯不会写?套路在此!(Pyth…

LeetCode 22. 括号生成

题目描述

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

解题思路

天天到处看答案,看的灵神的解题思路回溯不会写?套路在此!(Python/Java/C++/Go/JS),只能感叹我自己能力有限,看答案也要瞅半天(主要非常容易走神。。。)

  1. 在dfs中不断地枚举可能得答案,我的理解是,在灵神的枚举顺序里,大概是先枚举那种全部左括号组合的、再枚举那种左右括号组合的,得到最后的结果;
  2. 对于枚举方法,传入的参数是目前填的括号总数i和目前的左括号个数open
  3. 一开始写终止条件:if(i==n*2),也就是括号个数满足要求了,就存答案,return;
  4. 接下来,第一步先放左括号if(open<n),在这里边不断地递归每填一个左括号的结果
  5. 上面递归放完了所有左括号后,再考虑左右括号配对的解法,于是通过if(i-open<open)的方式来填写右括号

代码

class Solution {private int n; // 括号对数,也就是左括号的最大个数private final List<String> ans = new ArrayList<>();private char[] path;public List<String> generateParenthesis(int n) {this.n = n;path = new char[n * 2];dfs(0,0);return ans;}// i 表示目前一共填的括号数(左+右)// open = 左括号个数;i-open = 右括号个数private void dfs(int i, int open) {if (i == n * 2) {// 左右括号防止完毕,记录答案ans.add(new String(path));return ;}if (open < n){ // 当前还可以放左括号path[i] = '(';dfs(i + 1, open + 1); // 总括号数量+1,左括号数量+1}if (i - open < open){ // 如果左括号放不了就该放右括号了path[i] = ')';dfs(i + 1, open);}}
}
http://www.hrbkazy.com/news/8535.html

相关文章:

  • 空间备案网站c++线上培训机构哪个好
  • 如何做网站meta设置个人如何做网络推广
  • 个人网页设计作品集seo优化顾问服务阿亮
  • 拍卖网站模板下载关键词优化流程
  • 在线制作网站页面公司网站搭建
  • 人大网站建设的分析nba最新消息交易
  • 淄博做网站58同城文案代写
  • 金乡县网站开发郑州学校网站建设
  • 线上赚钱正规平台seo云优化软件破解版
  • 有做翻页相册的网站吗西安网络推广公司网络推广
  • 门户网站代码结构webview播放视频
  • 天空台108网站找手工活带回家做百度站长统计工具
  • 微信扫码即可打开的网站如何做大数据分析营销平台
  • 苏州做网站怎么样千锋教育出来好找工作吗
  • 洛阳做网站哪家好北京网络营销公司排名
  • wordpress正在等待代理隧道响应怎么优化自己公司的网站
  • wordpress 代码转义石家庄抖音seo
  • 在线做投资网站如何提高自己在百度的排名
  • 有哪些可以在线做app的网站有哪些seo和sem的区别是什么?
  • 做网站用什么软件初二拉新人拿奖励的app
  • 重庆1000元网站建设怎么在百度发布信息
  • 攀枝花建设工程质量监督站投诉网站全网络品牌推广
  • 扬中论坛全部帖子成都百度网站排名优化
  • 想做个网站 怎么做的google免登录网页版
  • 网站开发论坛友链交易平台
  • 做网站的哪家比较好微信管理软件哪个最好
  • 自动优化网站建设电话网站制作建设
  • 嘉兴网站制作百度网盘网页版入口官网
  • 镇江做网站的公司昆明网站seo优化
  • 查询网站是否做301如何在百度上发表文章