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

求个网站你懂我意思是四平网站seo

求个网站你懂我意思是,四平网站seo,服务器搭建网站,中小企业网站设计与开发目的LeetCode详解系列的总目录(持续更新中): LeetCode详解之如何一步步优化到最佳解法:前100题目录(更新中...)-CSDN博客 LeetCode详解系列的上一题链接: LeetCode详解之如何一步步优化到最佳解法…

LeetCode详解系列的总目录(持续更新中):

LeetCode详解之如何一步步优化到最佳解法:前100题目录(更新中...)-CSDN博客

LeetCode详解系列的上一题链接:

LeetCode详解之如何一步步优化到最佳解法:14. 最长公共前缀_leetcode 14-CSDN博客

目录

LeetCode详解系列的总目录(持续更新中):

LeetCode详解系列的上一题链接:

20. 有效的括号

解法1:暴力解法

解法1思路:

代码:

解法性能:

优化思路:

解法2:最终版

代码:

解法性能:


20. 有效的括号

本题题目链接:20. 有效的括号 - 力扣(LeetCode)

解法1:暴力解法

解法1思路:

从题目中,我们看出来,总共有3对括号,这种mapping关系我们可以用字典来存储,方便我们用O(1)的复杂度来查询。并且,对于每一个左括号,一方面,不一定有对应的右括号与之配对;另一方面,即使有这样的右括号,很大概率这个右括号不是字符串中的下一个字符。因此,我们需要有一个地方来存储还没有配对的括号,我们可以使用一个列表来存储这些信息。接着,我们开始遍历输入的字符串。

对于每一个字符,假如当前列表为空的话,我们需要判断这个字符对应的括号是左括号,还是右括号,因为输入的字符串有效的条件之一为“每个右括号都有一个对应的相同类型的左括号”,那么,如果当前的括号是右括号的话,我们就可以直接判断字符串不是有效的(因为列表为空,前面没有与之配对的左括号);如果当前的括号是左括号,我们就将其存储到列表中。

如果当前列表不为空的话,若当前的括号为右括号,我们需要判断列表中最后一个括号是不是和这个右括号是配对的,如果是的话,则配对成功,移除列表中最后一个括号;否则,输入的字符串不是有效的(因为当前的这个右括号没有与之配对的左括号,题目中指出字符串有效的条件之一为“左括号必须以正确的顺序闭合”)。若当前括号为左括号,则将这个括号存到列表中。

等遍历完字符串后,假如列表是非空的,说明还有没配对的括号,输入的字符串不是有效的;否则,输入的字符串是有效的。具体的代码如下所示:

代码:

class Solution:def isValid(self, s: str) -> bool:store = []mapping = {")": "(","}": "{","]": "["}for kuohao in s:if not store:if kuohao == ")" or kuohao == "}" or kuohao == "]":return Falsestore.append(kuohao)else:if kuohao in mapping.keys():if store[-1] != mapping[kuohao]:return Falseelse:store.pop()else:store.append(kuohao)if store:return Falseelse:return True

解法性能:

优化思路:

在上面的代码中,我们发现,在遍历字符串时,不论当前列表是空,还是非空,我们都是对如果当前括号是右括号的情况进行判断处理,而对当前括号是左括号的情况,则直接放进列表中。那么,我们是不是可以将操作进行合并,先处理右括号和左括号的情况。如果是右括号的话,再处理列表是空,还是非空的情况。优化后的代码如下所示:

解法2:最终版

代码:

class Solution:def isValid(self, s: str) -> bool:store = []mapping = {")": "(","}": "{","]": "["}for kuohao in s:if kuohao == ")" or kuohao == "}" or kuohao == "]":if not store:return Falseelse:if store[-1] != mapping[kuohao]:return Falseelse:store.pop()else:store.append(kuohao)if store:return Falseelse:return True

解法性能:

 

解法分析:

对比“解法2”和“解法1”的代码,我们可以发现,优化后的代码更加紧凑,逻辑更加清晰。代码紧凑,可以减少内存的消耗,因此,优化了这个指标。

 

http://www.dtcms.com/wzjs/351377.html

相关文章:

  • 哪里做网站的小红书seo排名优化
  • 有没有教给做宝宝衣服的网站怎么样推广自己的产品
  • 哪些做靠谱兼职网站有哪些长尾关键词挖掘精灵官网
  • wordpress怎样修改页脚版权信息志鸿优化设计
  • 网站开发建设流程图全网营销代运营
  • wordpress+爱情模板下载企业seo顾问
  • 公司建立网站怎么做分录门户网站制作
  • 我要看一集片做网站seo排名需要多少钱
  • 企业网站cms系统百度发广告需要多少钱
  • 网站菜单特效素材品牌策划书案例
  • 一个人做运营网站cpa推广接单平台
  • 网站开发的目标百度网站权重查询
  • 最好的外贸网站建设营销推广外包
  • 如何在文本上做网站链接符号百度帐号登录入口
  • 网站建设入账2024会爆发什么病毒
  • 平凉建设局官方网站社群营销成功案例
  • 英文网站建设流程长春网站开发
  • 营销网络英文学校seo推广培训班
  • 网站做多久自己怎么开发app软件
  • 百度网盘做存储网站做个小程序需要花多少钱
  • 国外jquery网站广州seo优化排名推广
  • 网页界面设计时颜色越多越好免费网站建设seo
  • 网站二级页面怎么做域名seo站长工具
  • 福州市建设厅网站如何用网站模板建站
  • ps网站头部长春疫情最新情况
  • wordpress怎样设置留言关键词优化分析工具
  • 网站建设需要什么软件谷歌chrome官网
  • 网站被劫持怎么办阿拉营销网站
  • 北京 网站设计飞沐怎么在网上打广告
  • wdcp 配置网站seo推广软件下载