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

算法训练第十天

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.lryc.cn/news/2404965.html

相关文章:

  • 2种官方方法关闭Windows防火墙
  • [面试精选] 0094. 二叉树的中序遍历
  • 股指期货期权交易规则是什么?
  • 学习笔记(23): 机器学习之数据预处理Pandas和转换成张量格式[1]
  • 2025年6月6日第一轮
  • 记一次运行spark报错
  • 12-Oracle 23ai Vector 使用ONNX模型生成向量嵌入
  • 2. 库的操作
  • pytorch 与 张量的处理
  • layer norm和 rms norm 对比
  • Java高级 | 【实验六】Springboot文件上传和下载
  • RKNN开发环境搭建1-基于Ubuntu 18.04系统使用Docker安装rknn-toolkit2
  • qt使用笔记二:main.cpp详解
  • VBA进度条ProgressForm1
  • 行为型设计模式之Interpreter(解释器)
  • 深入解析 CAS 操作
  • vue3+TS+eslint9配置
  • 【bug】Error: /undefinedfilename in (/tmp/ocrmypdf.io.9xfn1e3b/origin.pdf)
  • HarmonyOS5.0——CodeGenie:鸿蒙生态的AI编程革命​
  • 【Dv3Admin】系统视图字典管理API文件解析
  • 免费 SecureCRT8.3下载、安装、注册、使用与设置
  • Redis :String类型
  • 两种Https正向代理的实现原理
  • 第18节 Node.js Web 模块
  • 网络爬虫一课一得
  • LeetCode--24.两两交换链表中的结点
  • 嵌入式SDK技术EasyRTC音视频实时通话助力即时通信社交/教育等多场景创新应用
  • IDEA集成JRebel插件,实现实时热部署
  • 1-3 Linux-虚拟机(2025.6.7学习篇- mac版本)
  • 如何打造一款金融推理工具Financial Reasoning Workflow:WebUI+Ollama+Fin-R1+MCP/RAG