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

学做网站能赚多少英文网站建设中

学做网站能赚多少,英文网站建设中,雍熙网站建设,深圳有几个区哪个区最繁华正整数 n 代表生成括号的对数,请设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n 3 输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 示例 2: 输入&#x…

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

示例 1:

输入:n = 3
输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]
示例 2:

输入:n = 1
输出:[“()”]

提示:

1 <= n <= 8

法一:直接生成由’(‘和’)'组成的全部可能的字符串,然后再一个一个判断是否合法:

class Solution {
public:vector<string> generateParenthesis(int n) {vector<string> res;string s(2 * n, '\0');getAllParentheses(res, 0, s, n);return res;}private:void getAllParentheses(vector<string> &res, int index, string &s, int n){if (index == 2 * n){if (isValid(s)){res.push_back(s);}return;}s[index] = '(';getAllParentheses(res, index + 1, s, n);s[index] = ')';getAllParentheses(res, index + 1, s, n);}bool isValid(string &s){int cnt = 0;for (char c : s){if (c == '('){++cnt;}else{--cnt;}if (cnt < 0){return false;}}return cnt == 0;}
};

此方法时间复杂度为O(n2 2 n ^{2n} 2n);空间复杂度为O(n),最多递归2n层。很差的方法。

法二:递归求解即可:

class Solution {
public:vector<string> generateParenthesis(int n) {vector<string> res;int leftParenthesisNum = 0;string s(2 * n, '0');getParentheses(res, 0, 0, 0, s, n);return res;}private:void getParentheses(vector<string> &res, int leftNumAll,int finishNum, int index, string &s,int n){if (index == 2 * n){res.push_back(s);}if (leftNumAll < n){s[index] = '(';getParentheses(res, leftNumAll + 1, finishNum, index + 1, s, n);}if (finishNum < leftNumAll){s[index] = ')';getParentheses(res, leftNumAll, finishNum + 1, index + 1, s, n);}}
};

在这里插入图片描述
法三:我们可以把生成的结果看做(a)b,其中a和b分别是合法括号串。我们枚举每个右括号,分别计算枚举过程中a和b的内容,并且可以把特定长度的a和b的内容缓存下来:

class Solution {
public:vector<string> generateParenthesis(int n) {vector<vector<string>> cache(9);cache[0] = {""};return generate(n, cache);}private:vector<string> generate(int n, vector<vector<string>> &cache){if (cache[n].size() != 0){return cache[n];}vector<string> cur;for (int i = 0; i < n; ++i){vector<string> left = generate(i, cache);vector<string> right = generate(n - 1 - i, cache);for (string &sleft : left){for (string &sright : right){cur.push_back("(" + sleft + ")" + sright);}}cache[n] = cur;}return cache[n];}
};

在这里插入图片描述

http://www.yayakq.cn/news/393723/

相关文章:

  • 惠州网站建设公司排名望牛墩网站建设公司
  • 卡密网站怎么做平面设计品牌设计
  • 门户网站的特征网站长尾关键词
  • 响应式网站设计如何做海外淘宝网站
  • 免费一键生成详情页站长工具seo域名解析不了
  • 用自己的电脑做网站划算发卡网站怎么做
  • 公司网站开发实施方案如何让wordpress百度霸屏
  • 厦门好的做网站公司网络优化工程师有前途吗
  • 广州建设工程造价管理站网站联系昆明网站建设
  • 福鼎网站建设培训做好网站建设对企业有什么作用
  • 文档分享类网站建设广州建设工程交易中心主管部门
  • 三明做网站的公司网上
  • 做蜂蜜上什么网站招远水利建设工程公司网站
  • 网站建设合同怎么写深圳英迈思做网站好么
  • 加强门户网站建设 信息公开wordpress more
  • 绵阳建设网工程招标做网站优化公司报价
  • 一站式服务门户北京代理记账
  • 网站建设主要推广方式邓亚萍近况 做网站败光20亿
  • 网站建设平台加盟推荐网站空间购买
  • 网站建设常用的英文辽宁省建设工程信息网首页官网
  • 中国建设工程鲁班奖查询网站上海大 小企业网站制作
  • 温州哪里有做网站的线上营销活动主要有哪些
  • 做网站是否要备案环保主题静态网站
  • 金融公司网站制作wordpress文字替换
  • 商丘旅游网站的建设优惠券的网站怎么做的
  • 东莞网站营销公司如何做一名网站编辑
  • 大型网站开发价格常州建网站
  • 在济南什么人想做网站seo优化费用
  • 企业网站建设指导思想做网站用什么ide
  • 上海seo网站优化公司淘宝网络营销方式