解决代码
建议在pycharm中打断点,以便于更好的懂得
- #!/use/bin/env python
- # _*_ coding:utf-8 _*_
- LEFT = {'(', '[', '{'} # 左括号
- RIGHT = {')', ']', '}'} # 右括号
- def match(expr):
- """
- :param expr: 传过来的字符串
- :return: 返回是否是精确的
- """
- stack = [] # 创建一个栈
- for brackets in expr: # 迭代传过来的所有字符串
- if brackets in LEFT: # 如不雅当缁ぶ符在左括号内
- stack.append(brackets) # 把当缁ん括哄人栈
- elif brackets in RIGHT: # 如不雅是右括号
- if not stack or not 1 <= ord(brackets) - ord(stack[-1]) <= 2:
- # 如不雅当前栈为空,()]
- # 如不雅右括号减去左括号的值不是小于等于2大年夜于等于1
- return False # 返回False
- stack.pop() # 删除左括号
- return not stack # 如不雅栈内没有值袈潋返回True,不然返回False
- result = match('[(){()}]')
- print(result)
迷宫问题
标题
用一个二维数组表示一个简单的迷宫,用0表示通路,用1表示阻断,老鼠在每个点上可以移动相邻的东南西北四个点,设计一个算法,模仿老鼠走迷宫,找到大年夜人口到出口的一条路径。
推荐阅读
走进淮北市运输治理处信息批示中间,一幅由6块液晶显示屏构成的监控屏幕映入眼帘,经由过程屏幕画面可以清楚地看到全市在运行出租车的及时地位和车内人员的音视频信息。批示中间以每周7日>>>详细阅读
本文标题:Python算法实战系列:栈
地址:http://www.17bianji.com/lsqh/35452.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示