LinkedList概述 LinkedList 实现List接口,底层是双向链表,非线程安全。LinkedList还可以被当作堆栈、队列或双端队列进行操作。在JDK1.7/8 之后取消了循环,修改为双向链表。 LinkedList 实现 List 接口,能对它进行队列操作。 LinkedList 实 ...
分类:
其他好文 时间:
2019-04-30 19:53:38
阅读次数:
140
什么是双端队列?
ArrayDeque是怎么实现双端队列的?
ArrayDeque是线程安全的吗?
ArrayDeque是有界的吗?
分类:
编程语言 时间:
2019-04-30 10:44:30
阅读次数:
122
有些事情要明着写出来才会去干。 这里是一个不断更新的Todo List,大致按照重要度和列出时间排序。 主要着眼短期计划,其中的大部分事务应该在一周内解决~~,争取不做一只鸽子~~。 填好 "模板库" 的坑。 学习树状数组、数论(矩阵快速幂、博弈论)。 写链表、hash的总结。 填上[栈&队列]中单 ...
分类:
其他好文 时间:
2019-04-14 20:40:04
阅读次数:
212
大意: 给定$n$元素序列$a$, 可以任选不超过$k$个$a_i$变换为$a_i!$, 求变换后任选若干元素和为S的方案数. 分成两块暴搜, 复杂度$O(3^{\frac{n}{2}})$ ...
分类:
其他好文 时间:
2019-04-02 00:21:41
阅读次数:
156
对于有i*j的项,考虑用斜率优化DP(任务安排) http://poj.org/problem?id=1180 单调递增 https://www.lydsy.com/JudgeOnline/problem.php?id=2726 不单调,二分 单调队列和斜率优化是属于决策单调性的一种。而决策单调性是 ...
分类:
其他好文 时间:
2019-03-29 20:44:06
阅读次数:
158
FIFO是模拟双端口缓冲器而设计的,先进的数据先出,进出的数据可以是1个至n个不等,主要解决时序问题。就像排队买菜,先来的排在前面,后来的排后面,先来的先买菜。 1. 策略:排队需要缓冲区BUF队列,模仿“排队买菜”和“双端口器件”原理,维持BUF队列中第一个数据永远在第一个存储位。 2. 读出:一 ...
分类:
其他好文 时间:
2019-03-26 13:46:00
阅读次数:
120
这是一道广搜题,难点在于对题目的理解和对细节的处理。 对于一个节点,可以向左上、左下、右上、右下四个位置扩展,根据地图的形态确定每一步扩展的代价。 将代价最小的节点放在队头,这样用双端队列来实现。每个节点最多进出队列一次,所以时间复杂度为O(r*c) 1 #include <iostream> 2 ...
分类:
其他好文 时间:
2019-03-23 16:05:19
阅读次数:
144
d = collections.deque([]) # 创建双端队列d.append('a') # 在最右边添加一个元素,此时 d=deque('a')d.appendleft('b') # 在最左边添加一个元素,此时 d=deque(['b', 'a'])d.extend(['c','d']) # ...
分类:
其他好文 时间:
2019-03-17 10:32:27
阅读次数:
145
1 class Node(object): 2 3 def __init__(self, value=None): 4 self.value = value 5 self.next, self.prev = None, None 6 7 class Circular_Double_Linked_Li... ...
分类:
编程语言 时间:
2019-03-16 23:16:03
阅读次数:
201
栈 队列 栈的实现 顺序表实现 换个姿势,链表实现 队列 双端队列 操作: ...
分类:
其他好文 时间:
2019-03-16 19:15:40
阅读次数:
141