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

怎么在网站上做游戏代练淘宝指数转换

怎么在网站上做游戏代练,淘宝指数转换,用于制作网站的软件,静态页面做网站题目描述 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n 3 输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 示例 2: 输入…

题目描述

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

示例 1:

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

示例 2:

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

提示:

1 <= n <= 8

思路

首先思考算法的暴力解法,再对解法进行优化得到最终解法。
暴力思路:

输入为n时,输出的字符串长度为2n。可以定义一个长度为2n的数组,每一个位置不是左括号就是右括号。暴力生成所有的长度为2n的字符串,然后遍历所有的字符串,一旦左括号数小于右括号数就判定为不合格的字符串。这种算法的时间复杂度为O(2^2n)

这种算法的时间复杂度太高,根本没必要一下子生成这么多的字符串,浪费时间。我们可以使用条件来对生成字符串的过程进行剪枝。

条件观察

输入为n时,输出字符串长度为2n
局部字串符合条件的情况下,右括号不会作为新串的开头,如:'()‘合理,但’)()'不合理
局部串中 n >= 左括号数 >= 右括号数

由条件分析

如果left>n,则返回上一层;
如果left < right,则返回上一层;

代码

class Solution {public List<String> generateParenthesis(int n) {List<String> results = new ArrayList<String>();gen(0, 0, n, "", results);return results;}// 递归函数,参数说明如下// left :左括号使用的个数// right:右括号使用的个数// n:输入的n,用于判断左右括号是否超出限制// result:当前生成的合格的子串// results:合格字符串的列表public void gen(int left,int right,int n,String result, List<String> results){if(left == n && right == n){results.add(result);return;}// 两个剪枝条件,只要满足剪枝条件,则不再继续if(left > n || left < right)return;gen(left+1, right, n, result+'(', results);gen(left, right+1, n, result+')', results);}
}
http://www.fp688.cn/news/157035.html

相关文章:

  • 如果快速做网站百度app免费下载安装
  • 一般网站建设需要哪些东西百度推广费
  • 交互型网站难做吗西安刚刚宣布
  • 怀柔石家庄网站建设免费企业黄页查询官网
  • 网站建设相关图片国内搜索引擎排名第一
  • 网站做网站关键词有哪几种
  • 南通企业网站建设网站有吗免费的
  • 制作网站首先做的是电商营销策划方案范文
  • 网站分类导航代码网络营销专业学什么课程
  • 专业开发网站建设哪家好宁波网站推广哪家公司好
  • 懂做游戏钓鱼网站的乐陵市seo关键词优化
  • 1m带宽做网站外贸网站制作公司哪家好
  • 马鞍山网站开发线上推广方案怎么做
  • 网站建设+泰安视频推广一条多少钱
  • 建设银行网站可以查保单吗站长工具综合查询2020
  • 在线购物网站网站系统
  • 做网页兼职网站windows优化大师官网
  • 太原市0元网站建设系统优化大师
  • 建站网站是什么搜索网站大全
  • web网站开发试题长春seo代理
  • 做h5的网站eup百度竞价排名是以什么形式来计费的广告?
  • 什么叫企业网站天津百度网站快速优化
  • 珠海手机网站上海网络营销
  • 微网站工程案例展示青岛招聘seo
  • 网站为什么百度搜不到怎样做好销售和客户交流
  • ibm公司做网站seo有哪些优缺点?
  • 做网站好一点的软件英雄联盟最新赛事
  • 零食网站建设需求分析宣传平台有哪些
  • 男和男做那个视频网站青岛网站建设培训学校
  • 云南企业网站google seo是什么啊