力扣刷题学习
我的灵魂是一片海
奋进奋进
展开
-
广度优先搜索,暴力搜索---------单词拆分-----bfs
广度优先搜索,暴力搜索 广度优先搜索的时候要清晰的知道我们在遍历什么,加入队列就是我们的遍历的目标,遍历的时候注意什么时候是结束条件,什么条件是将下个遍历的元素加入队列,存在重复遍历的位置的时候,需要一个是否访问过的变量进行记录访问的状态,不然会重复遍历,剪枝能够大大提高时间。 模板不难,难的是知道我们在遍历什么,DFS常用于最小路径,把一些遍历的node当作无向图里的节点。 139. 单词拆分 难度中等415 给定一个非空字符串s和一个包含非空单词列表的字典wordDic...原创 2020-05-08 23:39:29 · 363 阅读 · 0 评论 -
广度优先搜索------二叉树的最小深度
BFS----二叉树搜索最小深度 111. 二叉树的最小深度 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子节点的节点。 示例: 给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最小深度 2. Cpp: /** *Definitionforabinarytreenode. *...原创 2020-05-08 23:35:03 · 309 阅读 · 0 评论 -
括号匹配问题-----使用栈进行解题
欢迎大家关注我的个人刷题公众号~~~ https://mp.weixin.qq.com/s?__biz=MzIyNTU3OTczMQ==&mid=2247483751&idx=1&sn=0cf586a197c7815d46ccbf515d1c153f&chksm=e87cc6dbdf0b4fcd9b9349a9f79471080f174b9f3eea9a29bd6...原创 2020-04-25 00:37:58 · 362 阅读 · 0 评论 -
滑动窗口利用单调队列解题
滑动窗口和单调队列的应用 做本题的时候一定要自己想一些测试用例,边界条件的,针对队列的相反的,窗口为1,2,k的,本题思路比较清晰,就是维护一个最大size = k的单调递减的双端队列,考虑当入参 == 队列最后一个的时候怎么处理,因为每个元素都要进行进入队列和出队列,所以每次处理之前要先判断是否满足 que.size() <=k;不满足的时候说明左边窗口划过去了,pop出去首位。 ...原创 2020-04-24 00:08:52 · 186 阅读 · 0 评论