一、几种类型 1.vector,支持快速随机访问,类似数组,通过下标方式来访问,但是对中间的插入或删除访问效率比较低; 2.list,双向链表,一个是数据项,一个是链表项,支持快速插入或删除,因为不需要移动位置,只需要修改它里边的一个指针、一个地址就可以; 3.deque,双端队列,在两端插入或删除 ...
分类:
编程语言 时间:
2019-09-18 00:55:57
阅读次数:
110
题面:https://www.luogu.org/problem/P2243 建边。 对角线有相连路的边权为0,没有的为1。 然后双端队列bfs求最短路。 将边权为0的到的点从队头入队。 边权为1到的点从队尾入队。 这样可以保证最优。 代码如下: ...
分类:
其他好文 时间:
2019-09-04 17:36:03
阅读次数:
98
链表 在Redis的早期版本中,存储list列表结构时,如果元素少则使用压缩列表ziplist,否则使用双向链表linkedlist 对于链表,有以下特性: 双端:节点带有prev和next指针以获取前置、后置节点 无环:表头的prev和表尾的tail指向NULL 带表头表尾指针:获取表头表尾节点复 ...
分类:
其他好文 时间:
2019-09-01 23:49:33
阅读次数:
121
Problem B: 2048 Special Judge Time Limit: 1000 ms Memory Limit: 256 MB Description 2048曾经是一款风靡全球的小游戏。 今天,我们换一种方式来玩这个小游戏。 现在,你有一个双端队列,你只能把元素从左端或从右端放入双端 ...
分类:
其他好文 时间:
2019-09-01 14:34:27
阅读次数:
105
#include <deque> 双端队列,可以在队头队尾进行入队出队操作 ...
分类:
其他好文 时间:
2019-09-01 14:18:11
阅读次数:
87
概述 1 LinkedList是List接口的双向链表非同步实现,并允许包括null在内的所有元素。 2 底层的数据结构是基于双向链表的,该数据结构我们称为节点。它也可以被当作堆栈、队列(实现 了List 接口)或双端队列(实现 了Deque 接口)进行操作。 3 双向链表节点对应的类Node的实例 ...
分类:
其他好文 时间:
2019-08-27 19:26:22
阅读次数:
65
【问题描述】 现在有一个1 n的序列,我们将它依次加入一个双端的序列,加完之后我们再每一次选择双端序列中的左端点/右端点,选择一个将对应的数删除并加入一个删除序列中,问最后有多少个合法的删除序列满足第k个是1(取模1e9+7) 【输入格式】 从文件forget.in中读入数据。 一行,n和k。 【输 ...
分类:
其他好文 时间:
2019-08-22 09:24:43
阅读次数:
66
"在内置数据类型(dict、list、set、tuple)的基础上,collections模块提供了几个额外的数据类型: :生成可以使用名字来访问元素内容的tuple,通常用来增强代码的可读性, 在访问一些tuple类型的数据时尤其好用. :双端队列,可以快速的从另外一侧追加和推出对象. :计数器, ...
分类:
编程语言 时间:
2019-08-19 12:57:11
阅读次数:
69
单调队列 一、定义 单调队列里的元素是单调递增或者单调递减的 二、实现 双端队列 deque 支持操作:(1)询问队首/队尾元素 front / back (2)从队首/队尾删除元素 pop_front() / pop_back() (3)从队首/队尾插入元素 push_front() / push ...
分类:
其他好文 时间:
2019-08-02 16:16:44
阅读次数:
123
用一个双端队列,队首是当前窗口最大值索引。 滑动一次,判断当前最大值是否过期; 新增的值从尾开始比较,把所有比他小的值都丢掉。 例如{2,3,4,2,6,5,1,3,2},窗口3 deque max 2 {0} 2 23 {1} 3 234 {2} 4 此时队列长度达到3,开始输出第一个窗口的最大值 ...
分类:
其他好文 时间:
2019-07-30 15:40:04
阅读次数:
88