随笔分类 - Algorithm
摘要:定义 关于滚动数组,其实就是一个普通的数组。但是它的特点在于优化空间,主要作用于递推或动态规划中(如01背包问题)。因为DP题目是一个自底向上的扩展过程,我们常常需要用到的是连续的解,前面的解往往可以舍去。所以用滚动数组优化是很有效的。利用滚动数组的话在N很大的情况下可以达到压缩存储的作用。 假设f
阅读全文
摘要:定义 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。 在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征。通常采用堆数据结构来实现。 和队列基本操作相同: top 访问队
阅读全文
摘要:剑指 Offer 07. 重建二叉树 参考的官方答案,记录一下理解题解的过程: 虽然看起来有点多,但其实理解之后,还行不是很难。 要点: 注意buildBinaryTree函数传的是序列的下标,不是结点的值;而indexMap存储的键则是结点值,值反而是序列的下标; 熟悉二叉树的先序遍历和中序遍历即
阅读全文