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

讯美 深圳网站建设二手书交易网站开发现状

讯美 深圳网站建设,二手书交易网站开发现状,网络优化工程师主要负责什么工作,免费查权重工具思路:dfs回溯 其实这道题看起来很像栈,但考虑到多种可能方案输出,我们需要用dfs来做。 乍一看好像没啥思路。我们可以从括号的特点入手,括号我们知道都是成对存在的,那么无论多少对括号,其实第一个符号肯…

思路:dfs回溯

其实这道题看起来很像栈,但考虑到多种可能方案输出,我们需要用dfs来做。

乍一看好像没啥思路。我们可以从括号的特点入手,括号我们知道都是成对存在的,那么无论多少对括号,其实第一个符号肯定是'(',而最后一个符号肯定是')'。剩下的,我们就可以认为是在这个大括号里面进行排序了。

排序的时候我们需要注意三个点,其实就是dfs剪枝需要注意的三个点:

第一,当‘(’的个数比‘)’的个数少的时候,证明我们没有正确的括号来匹配了,也就是无效,这时不能匹配括号;

第二,当‘(’的个数要大于所给n的时候,说明我们的括号符号超过了,不能匹配;

第三,当')'的个数要大于所给n的时候,同理,不能匹配。

这样,我们再进行选择符号。

dfs中需要这么几个参数,string字符串:记录可能结果,用来存入集合当中;num1,num2分别表示'('和')'的个数;n是所给的括号对数。

针对于大括号中的每一个位置,我们都需要抉择是选择‘(’还是')',不能不选。

这里首先就默认为字符串里面有第一个字符'('了。

最后在满足条件的情况下,再加入')',之后存入集合才是正确的。因为这里dfs中我的'('个数是1,而')'个数是0,而不是1(有些人会想着把num2设置成1,其实也可以,改变一下满足条件即可)。

class Solution {List<String>list=new ArrayList<>();public List<String> generateParenthesis(int n) {StringBuilder buf=new StringBuilder();buf.append("(");dfs(buf,n,1,0);return list;}public void dfs(StringBuilder buf,int n,int num1,int num2){if(num1>n)return;if(num2>n)return ;if(num1<num2)return;if(num1+num2==n*2-1){buf.append(")");list.add(buf.toString());buf.deleteCharAt(buf.length()-1);return ;}buf.append(")");dfs(buf,n,num1,num2+1);buf.deleteCharAt(buf.length()-1);buf.append("(");dfs(buf,n,num1+1,num2);buf.deleteCharAt(buf.length()-1);}
}

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

相关文章:

  • 专做农产品跨境的网站有网站开发培训收费
  • 微信互动平台网站建设哪个网站教做西餐
  • 织梦网站模版下载高明网站开发公司
  • 网站整站开发视频教程怎样用word2003做网站
  • 帮别人做网站怎么备案视频信号无线传输设备
  • 如何在工信部网站查询icpip工作服定制
  • 苏州网站优化建设装饰装修公司排名前十强
  • 网站制作com6间房直播
  • 泉州网站公司公司网站建设费用怎么记账
  • 购物网站的建设费用沪佳装修贵吗
  • 用wordpress作下载站点常见网站架构
  • 徐州网站建设报价全国企业信息公示查询系统官网
  • firework做网站教程wordpress 分享可见
  • 怎么做动漫小广告视频网站济南网站制作培训班
  • 网站单个页面纯色直播
  • 网站建设 话术小广告治理
  • 如何线下宣传网站在车子男女做的视频网站
  • ppt做的比较好的网站有哪些什么网站可以做调查
  • 惠州网站建设米普可思一流的高密做网站的
  • 网站域名解析重复建设政务网站
  • 濮阳网站墓园网站建设价格
  • 网站开发 只要wordpress 编辑权限设置
  • 360建设网站免费国家信用信息公示系统查询入口
  • 浙江网站建设哪家权威广告设计网站
  • 中国建设银行个人登陆网站深圳网站制作大运软件小镇
  • 海拉尔网站制作网站自己维护
  • 长沙微网站免费ppt模板大全免费下载
  • 建设私人网站优化seo教程
  • 成都网站模板购买做网站都需要用到什么软件
  • 最近湘潭的新闻十大seo公司