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

综合算法 IV | 数据结构设计

综合算法 IV | 数据结构设计

设计数据结构

面试中经常需要设计满足特定要求的数据结构。

LRU 缓存

from collections import OrderedDict class LRUCache: def __init__(self, capacity): self.capacity = capacity self.cache = OrderedDict() def get(self, key): if key not in self.cache: return -1 self.cache.move_to_end(key) return self.cache[key] def put(self, key, value): if key in self.cache: self.cache.move_to_end(key) self.cache[key] = value if len(self.cache) > self.capacity: self.cache.popitem(last=False)

最小栈

class MinStack: def __init__(self): self.stack = [] self.min_stack = [] def push(self, val): self.stack.append(val) if not self.min_stack or val <= self.min_stack[-1]: self.min_stack.append(val) def pop(self): val = self.stack.pop() if val == self.min_stack[-1]: self.min_stack.pop() def top(self): return self.stack[-1] def getMin(self): return self.min_stack[-1]

栈实现队列

class MyQueue: def __init__(self): self.in_stack = [] self.out_stack = [] def push(self, x): self.in_stack.append(x) def pop(self): if not self.out_stack: while self.in_stack: self.out_stack.append(self.in_stack.pop()) return self.out_stack.pop() def peek(self): if not self.out_stack: while self.in_stack: self.out_stack.append(self.in_stack.pop()) return self.out_stack[-1] def empty(self): return not self.in_stack and not self.out_stack

总结

设计数据结构需要理解常见数据结构的原理,根据需求组合实现。

http://www.jsqmd.com/news/912456/

相关文章:

  • 从软考拓扑到真实项目:手把手教你规划企业网络的安全区域(含DMZ、信任区、非信任区)
  • 如何快速定位虚幻引擎Pak文件中的资源问题:UnrealPakViewer实战指南
  • ​2026 搜索优化新革命:GEO 正在全面取代 SEO?
  • CentOS 7运维实战:手把手教你从源码编译OpenSSH 9.3 RPM包(含spec文件修改避坑点)
  • Path of Building PoE2:从装备导入到交易优化的完整工作流指南
  • 数据科学家如何高效学习:从信息筛选到实战应用的四层进阶法
  • 制造业AI落地厂商工程化能力评估:从PoC到规模化部署的五个验证指标
  • kubectl 10条必备命令速查:从入门到排错,运维人每天都在用
  • 基于Home Assistant与ESP32的智能家居传感器DIY指南
  • 现在不重构Claude PRD,Q3上线必延期:头部AIGC公司已强制启用的4层验证机制
  • 避坑指南:KDL库ChainIkSolverPos_LMA求解器参数调优与常见失败原因分析
  • 2026年西安高考复读学校哪家靠谱?办学资质、家长转介绍率与本科上线数据深度解析 - 科技焦点
  • 制造业供应商管理,绩效评估全靠人工印象?2026供应链数字员工实战指南:基于实在Agent的客观量化方案
  • 【MySQL】MVCC底层原理超全详解(快照读/当前读/版本链/ReadView/隔离级别)
  • 综合算法 V | 面试技巧与问题分析
  • 2026年西安高三补习学校哪家值得去?师资、管理与效果深度解析 - 科技焦点
  • 智能穿戴DIY入门:从电路设计到实战制作全指南
  • 我用龙虾两天开发了4个网站
  • Umi-CUT:快速批量去除图片黑边的终极解决方案
  • 【算法五十二】5. 最长回文子串
  • 综合算法 VI | 算法思维培养
  • 如何通过Proxmark3GUI图形界面轻松掌握RFID卡片分析技术
  • 2026年西安高三补习学校排行榜:升学与口碑解析 - 科技焦点
  • 多渠道广告归因:3种逻辑解决效果分配难题
  • 猫抓浏览器扩展终极指南:快速掌握网页资源嗅探与下载技巧
  • 2021-2025年各省、地级市二次元关注度数据
  • CAPL调试踩坑实录:从‘它为什么不执行’到精准定位问题的5个实用技巧
  • 北京上班族福利!京顺斋上门回收,省时省力,高效变现 - 深鉴新闻
  • 【C++】STL
  • 2026沈阳精密抛光服务公司评估:真空设备、金属、不锈钢、不锈钢板、不锈钢管、铜、铝、屏蔽罩、铝屏蔽罩、防尘罩及医药设备抛光 - 品牌企业推荐师(官方)