摸鱼学大师
摸鱼学大师
全部文章
分类
未归档(8)
题解(541)
归档
标签
去牛客网
登录
/
注册
摸鱼学大师的博客
问月月不明?
TA的专栏
547篇文章
2人订阅
孤帆远影碧空尽
547篇文章
10911人学习
全部文章
(共24篇)
题解 | #首尾交替出队#
来自专栏
题目的主要信息: 交替弹出队首队尾元素 具体做法: deque是双端队列,可以从队首弹出也可以从队尾弹出。 我们准备一个Boolean型的flag,一开始为true,每次为true就弹出队首元素,然后置为false,每次为false就弹出队尾元素,然后置为true,如此交替即可实现交替弹出队首队...
Java
队列
2021-10-18
4
462
题解 | #第一个只出现一次的字符#
来自专栏
题目的主要信息: 在给定字符串中找到第一个只出现一次的字符的位置,从0开始 如果找不到则返回-1 字符串只有大小字母组成 要求:空间复杂度O(n)O(n)O(n),时间复杂度O(n)O(n)O(n) 方法一:哈希表统计频率 具体做法: 我们可以建立一个无序哈希表,遍历字符串的同时,统计每个字符出...
C++
队列
哈希表
2021-10-02
0
325
题解 | #树的子结构#
来自专栏
题目的主要信息: 给定两棵二叉树的层次遍历序列 判断二叉树B是否为A树的子树 我们约定空树不是任意一个树的子结构 方法一:两层先序遍历 具体做法: 对A树的每个结点递归先序遍历,寻找是否有这样的子树,而寻找是否有子树的时候也是用递归,但这次是A树与B树同步先序遍历,遍历完一个B树或者有不相等的结...
C++
二叉树
队列
层次遍历
先序遍历
2021-10-01
0
351
题解 | #最多节点数#
来自专栏
思路: 题目的主要信息: n个节点n-1条边的无向连通图,即一棵无向树 两个节点a与b,其中a在节点1,b在节点x,两点移动速度相同,求a和b移动到同一节点所需的最多节点数,需要包括1号节点在内 方法一:dfs具体做法:我们可以使用两次dfs分别求得树中每个节点到节点1和节点x的距离,然后遍历找...
bfs
dfs
递归
队列
2021-09-12
0
636
题解 | #路径数目#
来自专栏
思路: 题目的主要信息: 一棵以1为根节点的树,节点值为0或者1 最多经过两个值为1的节点的情况下,求有多少条从根达到叶结点的路径 方法一:dfs具体做法:我们首先根据题目给出的边信息构建邻接矩阵,可以访问某个节点的所有相邻节点。然后从根节点开始dfs递归,递归过程不断更新路径中1的数量coun...
bfs
dfs
队列
递归
2021-09-12
0
460
题解 | #回路#
来自专栏
题目的主要信息: n个节点,m条边,数组edge记录的是有边的两个节点 判断这个图是否有从1号节点开始的回路 方法一:dfs 具体做法: 首先我们构建图。然后从节点1开始进行深度优先搜索,遍历与其相连的每一个节点,每到一个节点不能遍历前序节点或者已经访问过的,然后每次需要判断是否回到了节点1,如...
回路
图
bfs
dfs
递归
队列
2021-08-26
0
711
题解 | #我们的距离#
来自专栏
思路: 题目的主要信息: 一棵树每边长度为1,节点到节点的距离为 某个节点的权值 现求树每个节点的权值 方法一:两次dfs具体做法:我们可以用两次dfs解决这个问题。第一次dfs遍历这棵树,找到每个节点有多少个子节点,第二次dfs遍历每个节点,根据第一次找到的子节点数推算出到其他任何节点的距离。...
bfs
dfs
树
队列
递归
2021-08-08
0
686
题解 | #最长路径#
来自专栏
思路: 题目的主要信息: n个节点,n-1条边,使之全部连通,这就是一棵树 树中任意节点的路径最长值,就是求树的直径 首先我们要知道一个性质:从树的根节点深度优先搜索到最远距离,再从最远距离深度优先搜索到另一最远距离就是树的直径。 方法一:两次深度优先搜索具体做法:我们需要用哈希表来存储树的边结...
最长路径
树的直径
dfs
bfs
递归
队列
哈希表
2021-08-06
0
687
题解 | #矩阵最长递增路径#
来自专栏
思路: 题目的主要信息: 矩阵内是非负数,求最长的递增路径的长度 移动方向可以是上下左右,不能超出边界,这将是递归的判定条件 同一条路径不能有重复的单元格,需要有记忆 方法一:深度优先搜索具体做法:使用一个dp二维数组作为缓存,记忆该单元格是否访问过的同时记录以该单元为起点的最长路径是多少(0就...
dfs
bfs
递归
队列
拓扑排序
2021-07-24
0
1031
题解 | #最小的K个数#
来自专栏
##思路: 题目的主要信息: 对于一个给定无序数组,返回最小的k个元素,顺序由小到大 k和数组有特殊情况需要单独讨论 方法一:sort排序法 具体做法: 这是最能想到,也是最简单的方法。利用sort函数对数组进行由小到大排序,然后取前k个值入vector即可。 class Solution { ...
堆排序
队列
排序
2021-07-22
0
558
首页
上一页
1
2
3
下一页
末页