![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
lp_oreo
hahh
展开
-
第二部分:和查找表相关的问题
在这一部分中主要介绍了和查找表相关的问题,主要包括set模板类和map模板类。set中元素是唯一的,而map中键值key也是唯一的。它们低层都是使用平衡二叉树来实现的,其中的元素存在着一定的顺序性。而unordered_set和unordered_map模板类的低层都是使用哈希表实现的,它们的插入,删除和查找等方法的时间复杂度都是O(1)级别的,相比于set和map的O(nlogn)级别的算法要快很多,相比之下,它们却丧失了元素之间的顺序性!!在某些问题上可能会需要元素之间的顺序性,某些问题却不会。.原创 2020-10-17 11:23:48 · 402 阅读 · 0 评论 -
第一部分:和数组相关的问题
本系列的博客主要是整理刘宇波老师《玩转算法面试》课程的相关知识点,本系列博客主要有八个部分:(1)数组中常见的问题(2)查找表相关问题(3)链表相关问题(4)栈、队列和优先队列(5)二叉树和递归(6)递归和回溯法(7)动态规划(8)贪心算法在第一部分中,主要介绍了和数组相关的问题,大体上的问题解决方案都和如何划分区域有关。区域的形成离不开左右索引,根据索引的数量和如何动态改变分成了三个部分:单索引、对撞指针和滑动窗口。下面主要针对每一部分进行介绍并针对leetcod.原创 2020-10-13 21:49:20 · 239 阅读 · 0 评论 -
20.有效的括号
这一题使用的是stack的知识点,整个思路有点像消消乐的感觉。1stack栈是一种重要的数据结构,它的特点是后进先出(LIFO),我们可以将栈想象成一摞书,就像这样:作为一种重要的数据结构,它最重要的功能就是对数据的存储和获取,可以使用哪些方法存储和获取数据呢?(1)empty()方法:判断stack是否为空,如果为空返回True,否则返回False(2)top()方法:获得栈顶的元素(好像没有获取栈底的方法)。如果stack中没有元素,使用top()方法可能就会报错。(3...原创 2020-07-03 19:29:38 · 97 阅读 · 0 评论