Python数据结构与算法——双端队列Dequeue

点击上方 蓝字 关注我们

双端队列Dequeue


双端队列是一种有序的数据集,与队列相似,但双端队列的两端都可以作为队首和队尾(即数据在两端都可以删除和插入

某种意义上来说,双端队列Dequeue集合了栈和队列的功能,Dequeue既可以实现栈也可以实现队列

双端队列的操作:

Dequeue()

创建一个双端队列

addFront()

队首加入数据

addFear()

队尾加入数据

removeFront()

队首删除数据

removeFear()

队尾删除数据

size()

双端队列元素个数

isEmpty()

是否为空

双端队列使用实例:

双端队列代码:

双端队列应用——****“回文词”判定


**“回文词”:**正读和反读都一样的词

例:radar(雷达),madam,foot,“上海自来水来自海上”,“山东落花生花落”

**算法:**利用双端队列Dequeue,先将字符串加入双端队列,再从两端开始移除判断是否相同,最后剩一个字符

代码:

所有代码:

class Dequeue():

别忘了点个在看哦!转发那就太好了!

本文分享自微信公众号 - 小杨的python之路(gh_6ba152d49331)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

双十一预售活动分析

2022年双十一促销活动已经开始,大家应该都提前开始关注今年双十一活动的时间表了吧?2022年10月24日晚8:00天猫双11预售时间,第一波销售时间10月31日晚8:0,第二波销售时间11月10日晚8:00;天猫双11的优惠力度是跨店每满30050

java并发数据结构

一.BlockingDeque阻塞双端队列(线程安全):注意ArrayDeque和LinkedList仅仅扩展了Deque,是非阻塞类型的双端队列。BlockingQueue单向队列,其内部基于ReentrantLockCondition来控制同步和"阻塞"/"唤醒"的时

Android So动态加载 优雅实现与原理分析

背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我