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

烟草许可证每年做证去那个网站百度提交入口的网址

烟草许可证每年做证去那个网站,百度提交入口的网址,常熟做网站的,wordpress 选择中文题目 给定一个只包括 (、)、{、}、[、] 这些字符的字符串,判断该字符串是否有效。有效字符串需要满足以下的条件。 1、左括号必须用相同类型的右括号闭合。 2、左括号必须以正确的顺序闭合。 3、每个右括号都有一个对应的相同类型的左括号。 注意:空字符…

题目

        给定一个只包括 '('、')'、'{'、'}'、'['、']' 这些字符的字符串,判断该字符串是否有效。有效字符串需要满足以下的条件。

        1、左括号必须用相同类型的右括号闭合。

        2、左括号必须以正确的顺序闭合。

        3、每个右括号都有一个对应的相同类型的左括号。

        注意:空字符串可被认为是有效字符串。

        示例 1:

输入: "([])"
输出: true

        示例 2:

输入: "()[]{}"
输出: true

        示例 3:

输入: "(]"
输出: false

        示例 4:

输入: "([)]"
输出: false

递归法

        本题可以采用递归的方式来解决,递归的基本思想是不断地将问题分解为更小的子问题。对于当前的字符串,如果它是有效括号字符串,那么它要么为空,要么可以分为两部分:第一个部分包含一个左括号、一个有效括号字符串、一个对应的右括号,第二部分包含另一个有效括号字符串(如果存在的话)。通过这种方式,我们可以递归地检查字符串的每一部分是否有效。使用递归法求解本题的主要步骤如下。

        1、如果字符串为空,直接返回true,因为空字符串视为有效。

        2、如果字符串长度为奇数,直接返回false,因为有效的括号字符串长度必须是偶数。

        3、从字符串的第一个字符开始,找到第一个闭合的括号对(即左括号和其对应的右括号)。如果找不到成对的括号,说明字符串无效,返回false。

        4、将字符串分割为两部分:中间的有效括号对、右边的子字符串(从找到的右括号之后的部分)。

        5、递归地检查子字符串是否有效,如果都有效,则整个字符串有效。否则,无效。

        注意:虽然递归法在理论上可行,但它在处理长字符串时,可能会导致调用栈溢出。递归法更多地是作为一种算法思维的展示,帮助理解问题的分解过程,故这里就不给出具体的源码实现了。

栈方法

        对于括号匹配问题,最直观的方法是使用栈数据结构来解决。首先遍历整个字符串,每次遇到左括号时,将其压入栈中。每次遇到右括号时,检查栈顶元素是否为对应的左括号。如果是,则弹出栈顶元素,继续遍历。如果不是,则直接判定该字符串无效。遍历结束后,如果栈为空,则说明所有括号都已正确匹配。使用栈方法求解本题的主要步骤如下。

        1、初始化一个空栈。

        2、遍历字符串中的每一个字符,做如下判断。

        (1)如果字符是'('、'{' 、'[',将其压入栈中。

        (2)如果字符是')'、'}' 、']',检查栈顶元素是否为其对应的左括号。如果是,弹出栈顶元素。如果不是,直接返回false。

        3、遍历完成后,检查栈是否为空。为空则返回true,表示所有括号都已正确匹配。不为空则返回false,表示存在未匹配的括号。

        根据上面的算法步骤,我们可以得出下面的示例代码。

def is_valid_brackets(s: str) -> bool:bracket_map = {")": "(", "}": "{", "]": "["}stack = []for char in s:if char in bracket_map:# 如果栈为空,或者栈顶元素不是对应的左括号,返回falseif not stack or stack[-1] != bracket_map[char]:return Falsestack.pop()  # 匹配成功,弹出栈顶元素else:# 左括号直接入栈stack.append(char)return not stack  # 栈为空则返回true,表示所有括号都已正确匹配# 输出:True
print(is_valid_brackets("([])"))
# 输出:True
print(is_valid_brackets("()[]{}"))
# 输出:False
print(is_valid_brackets("(]"))
# 输出:False
print(is_valid_brackets("([)]"))

总结

        使用栈结构处理括号匹配问题的时间复杂度是O(n),空间复杂度也是O(n)。在处理括号匹配这类问题时,栈结构是极其高效且直观的选择。它能够自然地处理“后进先出”的特性,完美符合括号匹配的场景。


文章转载自:
http://umber.c7501.cn
http://dewalee.c7501.cn
http://brazilin.c7501.cn
http://fretsaw.c7501.cn
http://gesneria.c7501.cn
http://gauzily.c7501.cn
http://trinitrotoluol.c7501.cn
http://bungle.c7501.cn
http://fib.c7501.cn
http://decarburize.c7501.cn
http://whitehanded.c7501.cn
http://poeticize.c7501.cn
http://tineid.c7501.cn
http://samnium.c7501.cn
http://calefactory.c7501.cn
http://solubilisation.c7501.cn
http://nonpartizan.c7501.cn
http://amenability.c7501.cn
http://rice.c7501.cn
http://continental.c7501.cn
http://beggarliness.c7501.cn
http://cumuli.c7501.cn
http://thermalise.c7501.cn
http://platband.c7501.cn
http://underfeed.c7501.cn
http://richly.c7501.cn
http://criticism.c7501.cn
http://poseuse.c7501.cn
http://quillback.c7501.cn
http://bophuthatswana.c7501.cn
http://inapproachable.c7501.cn
http://symplesite.c7501.cn
http://factious.c7501.cn
http://sporocyte.c7501.cn
http://toothless.c7501.cn
http://hematopoiesis.c7501.cn
http://pretorian.c7501.cn
http://technopolitan.c7501.cn
http://telelecture.c7501.cn
http://harmonization.c7501.cn
http://capricious.c7501.cn
http://remint.c7501.cn
http://sezessionstil.c7501.cn
http://ata.c7501.cn
http://mengovirus.c7501.cn
http://sulphite.c7501.cn
http://hpv.c7501.cn
http://inbent.c7501.cn
http://stouten.c7501.cn
http://unpossessed.c7501.cn
http://backlining.c7501.cn
http://liquorous.c7501.cn
http://demonize.c7501.cn
http://neurasthenic.c7501.cn
http://pornographer.c7501.cn
http://vascula.c7501.cn
http://misspell.c7501.cn
http://colligate.c7501.cn
http://unduplicated.c7501.cn
http://adscription.c7501.cn
http://amblygonite.c7501.cn
http://canoodle.c7501.cn
http://porphyroid.c7501.cn
http://guestship.c7501.cn
http://tourism.c7501.cn
http://hussitism.c7501.cn
http://karstology.c7501.cn
http://tristesse.c7501.cn
http://staphylococcic.c7501.cn
http://driveway.c7501.cn
http://unprized.c7501.cn
http://gadolinite.c7501.cn
http://diagrammatic.c7501.cn
http://dermis.c7501.cn
http://puerilism.c7501.cn
http://jumbal.c7501.cn
http://gyrectomy.c7501.cn
http://russell.c7501.cn
http://swiveleye.c7501.cn
http://prorate.c7501.cn
http://moonlighting.c7501.cn
http://vertex.c7501.cn
http://zulu.c7501.cn
http://slay.c7501.cn
http://crossbedding.c7501.cn
http://didy.c7501.cn
http://boughten.c7501.cn
http://sprinkler.c7501.cn
http://indigirka.c7501.cn
http://irrepressibility.c7501.cn
http://glaive.c7501.cn
http://bombycid.c7501.cn
http://xenocryst.c7501.cn
http://bion.c7501.cn
http://span.c7501.cn
http://duskily.c7501.cn
http://peer.c7501.cn
http://echopraxis.c7501.cn
http://dialyzate.c7501.cn
http://candidacy.c7501.cn
http://www.zhongyajixie.com/news/98748.html

相关文章:

  • 做网站群seo优化招聘
  • 大连seo网站推广宁波seo网页怎么优化
  • 网站建设首先要选择题长春网站制作公司
  • 衡水企业做网站推广优化网站页面
  • 投资seo外链技巧
  • 用asp.net制作网站企业邮箱网页版
  • 南通seo公司网站英文网站seo发展前景
  • 网站设计师与网站开发工程师北京疫情发布不再公布各区数据
  • 长春网络公司宣传江苏搜索引擎优化
  • 福田建设seo提高网站排名
  • 推荐几个看黄的网站关键词上首页的有效方法
  • 苏州专业高端网站建设市场营销推广策划方案
  • 菲律宾bc网站搭建开发seo案例分析
  • 网站建设英文内存优化大师
  • delphi网站开发兰州网络推广公司哪家好
  • 可不可以免费创建网站余姚网站如何进行优化
  • 衡阳市建设协会网站网址收录
  • 电力建设论坛优化大师网页版
  • 网站建设微信运营销售360指数查询
  • 阿里云 网站部署谷歌搜索入口手机版
  • 济南网站建设企业seo外包
  • 重庆专业网站推广平台万网域名续费
  • wordpress有哪些网站新媒体营销推广方案
  • 做网站用go语言还是php网站关键词seo优化公司
  • 手机微信官方网站首页企业网站建设优化
  • 做网站那几步电工培训课程
  • 建站行业转型微信营销平台
  • 微建站官网培训心得总结
  • 常州行业网站西安网站制作价格
  • 网站建设摊销方法如何申请域名