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

宿迁市建设局网站维修基金泉州seo培训

宿迁市建设局网站维修基金,泉州seo培训,做java一个网站,青海网站开发 建设文章目录 Check If Word Is Valid After Substitutions 检查替换后的词是否有效问题描述:分析代码 Tag Check If Word Is Valid After Substitutions 检查替换后的词是否有效 问题描述: 给你一个字符串 s ,请你判断它是否 有效 。 字符串 s…

文章目录

  • Check If Word Is Valid After Substitutions 检查替换后的词是否有效
    • 问题描述:
    • 分析
    • 代码
  • Tag

Check If Word Is Valid After Substitutions 检查替换后的词是否有效

问题描述:

给你一个字符串 s ,请你判断它是否 有效 。
字符串 s 有效 需要满足:假设开始有一个空字符串 t = “” ,你可以执行 任意次 下述操作将 t 转换为 s :

将字符串 “abc” 插入到 t 中的任意位置。形式上,t 变为 tleft + “abc” + tright,其中 t == tleft + tright 。注意,tleft 和 tright 可能为 空 。
如果字符串 s 有效,则返回 true;否则,返回 false。
s.length范围[1,20000],仅由abc构成。

分析

使用暴力构造的方法,就是每构造一个有效的s’,然后在s’的每个位置上插入abc,直到达到目标的s长度。但是s’越长,枚举的位置越多,时间复杂度也越大。
同样逆向的做dfs,每次找到一个abc,然后删除,但是这样也会面临相同的问题。

还有一种暴力的思路,就是replace,每一次将所有符合条件的abc,全部用空字符串替换,直到整个s,不存在abc,判断s是否是空字符串。
replace作为封装的string API,确实可以处理这个问题,但是另一方面,这个replace过程中对空间,时间上的消耗,可以思考一下。

这个问题可以抽象成为一个栈,类似于括号匹配。abc可以抽象的作为一个(),遇到字符a,可以直接入栈。遇到字符b,如果要符合条件,那么此时栈顶必须是a,也就是说,如果栈空或者栈顶!=a,说明无法满足题目的条件,返回false。否则可以将栈顶修改为b。遇到字符c,其实和字符b是一样的处理,也是只关心栈顶是否是b。
整个流程遍历一次,最大的空间就是开栈,时间复杂度ON,空间ON。

时间复杂度 O(N)
空间复杂度: O(N)

代码

public boolean isValid(String s) {while(s.indexOf("abc")!=-1){s = s.replace("abc","");}return s.equals("");}

时间复杂度 O(N)
空间复杂度: O(N)

 public boolean isValid(String s) {Deque<Integer> st = new ArrayDeque();for(int i=0;i<s.length();i++){int c = s.charAt(i)-'a';if(c==0){st.push(c);continue;}if(st.isEmpty()) return false;int top = st.pop();if(c-top!=1)return false;if(c==1){st.push(c);} } return st.isEmpty(); }

代码还可以再压缩,但是基本流程是这样。

Tag

http://www.tj-hxxt.cn/news/22910.html

相关文章:

  • sns网站建设深圳关键词优化公司哪家好
  • 网站刚建好怎么做能让百度收录手机app免费下载
  • 网站建设新闻建网站需要什么条件
  • 中机建设深圳公司搜索引擎优化的主要特征
  • 如何用华为云服务器做网站广告网站留电话不用验证码
  • wordpress没有css企业网站优化方案案例
  • 西昌网站建设公司销售人员培训课程有哪些
  • 福州响应式网站建设大兴今日头条新闻
  • 网站开发承包合同个人网站搭建
  • 怎么做卖衣服网站找客户资源的软件哪个最靠谱
  • 武汉网站制作制作凌哥seo技术博客
  • 甘肃购物网站建设网络营销软文范例500
  • 正规的代加工平台搜索引擎优化师
  • logo在线设计免费生成器seo优化网站推广全域营销获客公司
  • 做教育机构网站百度提升优化
  • 做细胞激活的母液网站国外网站制作
  • 装潢公司网站建设抖音推广平台联系方式
  • 电商网站的银行支付接入该怎么做大数据下的精准营销
  • 餐饮网站建设怎么建设的国内新闻最新5条
  • 服务器网络杭州龙席网络seo
  • 网站开发人员招募费用网络推广的几种方式
  • 专业的网站制作网络营销推广策划的步骤
  • 佛山顺德网站建设广告公司收费价格表
  • wordpress网站访问慢一个网站如何推广
  • 微信公司网站b站推广网站入口mmm
  • 功能类网站口碑营销的案例及分析
  • 乌兰察布网站制作seo做的比较好的公司
  • 西安广告公司网站建设网站广告策划
  • 如何做家乡网站sem优化师是什么意思
  • 企业所得税怎么合理节税入门seo技术教程