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

算法训练第十天

232. 用栈实现队列

代码:

class MyQueue(object):def __init__(self):self.arr1 = []self.arr2 = []def push(self, x):""":type x: int:rtype: None"""self.arr1.append(x)def pop(self):""":rtype: int"""if len(self.arr2)>0:return self.arr2.pop()while len(self.arr1)>0:self.arr2.append(self.arr1.pop())return self.arr2.pop()def peek(self):""":rtype: int"""if len(self.arr2)>0:return self.arr2[len(self.arr2)-1]while len(self.arr1)>0:self.arr2.append(self.arr1.pop())return self.arr2[len(self.arr2)-1]def empty(self):""":rtype: bool"""if len(self.arr1)==0 and len(self.arr2)==0:return Truereturn False# Your MyQueue object will be instantiated and called as such:
# obj = MyQueue()
# obj.push(x)
# param_2 = obj.pop()
# param_3 = obj.peek()
# param_4 = obj.empty()

225.用队列实现栈

代码:

class MyStack(object):def __init__(self):self.arr = []self.i = -1def push(self, x):""":type x: int:rtype: None"""self.arr.append(x)self.i+=1def pop(self):""":rtype: int"""while self.i>0:self.arr.append(self.arr.pop(0))self.i-=1t = self.arr.pop(0)if len(self.arr)==0:self.i=-1else:self.i = len(self.arr)-1return tdef top(self):""":rtype: int"""return self.arr[self.i]def empty(self):""":rtype: bool"""if len(self.arr)==0:return Truereturn False

20. 有效的括号

代码:

class Solution(object):def isValid(self, s):""":type s: str:rtype: bool"""str = list(s)stack = []for i in str:if len(stack)==0:stack.append(i)else:if i==')' and stack[len(stack)-1]== '(':stack.pop()elif i== '}'and stack[len(stack)-1]=='{':stack.pop()elif i== ']'and stack[len(stack)-1]=='[':stack.pop()else:stack.append(i)if len(stack)==0:return Truereturn False

1047. 删除字符串中的所有相邻重复项

代码:

class Solution(object):def removeDuplicates(self, s):""":type s: str:rtype: str"""my_list = []is_delete=Truestr = list(s)while is_delete:is_delete=Falsefor i in str:if len(my_list)==0:my_list.append(i)else:if i==my_list[len(my_list)-1]:my_list.pop()is_delete=Truecontinueelse:my_list.append(i)str = my_listmy_list=[]return ''.join(str)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/237822.html

相关文章:

  • Linux 下关于 ioremap 系列接口
  • 如何判断指针是否需要释放?
  • Cell-o1:强化学习训练LLM解决单细胞推理问题
  • FPGA 可重构技术的实现方法
  • 分享两个日常办公软件:uTools、PixPin
  • 好未来0520上机考试题2:有效三角形的个数
  • 【大模型原理与技术-毛玉仁】第五章 模型编辑
  • 并行硬件环境及并行编程
  • Shell 命令及运行原理 + 权限的概念(7)
  • 手拉手处理RuoYi脚手架常见文问题
  • 【Qlib】Windows上Qlib安装与初步使用
  • 量子电路设计:以 Qiskit 为例
  • PicSharp(图片压缩工具) v1.1.6
  • 分享5个免费5个在线工具网站:Docsmall、UIED Tool在线工具箱、草料二维码、图片在线压缩、表情符号
  • python的numpy的MKL加速
  • 日志收集工具-Filebeat
  • 图卷积网络:从理论到实践
  • 22、模板特例化
  • triton学习笔记6: Fused Attention
  • 轻创业技术方案:基于格行双目摄像头的代理系统设计!低成本创业项目有哪些?2025轻资产创业项目排行榜前十名!0成本创业项目推荐!格行代理项目靠谱吗?
  • 在 Java 中!(逻辑非)和 ||(逻辑或)的优先级关系
  • Java 并发编程系列(上篇):多线程深入解析
  • C++与Python编程体验的多维对比:从语法哲学到工程实践
  • MATLAB-电偶极子所产出的电磁场仿真
  • 【HarmonyOS5】UIAbility组件生命周期详解:从创建到销毁的全景解析
  • Linux -- 进程信号
  • LVDS的几个关键电压概念
  • libiec61850 mms协议异步模式
  • Android实现点击Notification通知栏,跳转指定activity页面
  • 轮廓 填充空洞 删除孤立