原题链接 考察:bfs+三维数组 思路: 没什么好说的,就是三维走迷宫,比二维多两个方向就是了 POJ请不要用C++11的特性 最短路还是用bfs比较好,一开始用dfs结果貌似栈溢出了 #include <iostream> #include <cstring> #include <queue> u ...
分类:
其他好文 时间:
2021-01-11 10:57:35
阅读次数:
0
参考:https://labuladong.gitbook.io/algo/di-ling-zhang-bi-du-xi-lie/bfs-kuang-jia 问题: 求从【0000】四位密码锁初始状态,最少经过几步,能找到给定目标秘密target 另,其中若转到给定deadends的密码,则永远打不 ...
分类:
其他好文 时间:
2021-01-05 10:54:46
阅读次数:
0
☆☆☆思路:剑指18.二叉树的镜像 方法1:递归。二叉树此类递归问题,要以根节点为目标点进行分析。 思路1:首先分别翻转根节点的左右子树,然后交换左右子树的位置即可。 思路2:也可以先交换左右子树的位置,然后再分别翻转根节点的左右子树。 方法2:BFS层序遍历 层序遍历树的所有节点,然后交换其左右节 ...
分类:
其他好文 时间:
2020-12-28 11:24:22
阅读次数:
0
深度优先遍历DFS 1、递归实现 递归实现比较简单。也就是前序遍历,我们依次遍历当前节点,左节点,右节点即可,以此不断递归下去,直到叶节点(终止条件)。 public class Solution { private static class Node { public int value; pub ...
分类:
其他好文 时间:
2020-12-25 11:53:08
阅读次数:
0
水题~ const int N=25; char g[N][N]; bool vis[N][N]; int n,m; PII st; bool check(int x,int y) { return x>=0 && x<n && y>=0 && y<m; } int bfs() { queue<PI ...
分类:
其他好文 时间:
2020-12-24 12:06:48
阅读次数:
0
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 返回: [3,9,20,15,7] 提示: 节点总数 ? 1000 BFS /** * Definition for a binary tree node. ...
分类:
其他好文 时间:
2020-12-24 11:52:04
阅读次数:
0
题意: 戳这里 分析: \(sam\) 裸题,求第 \(k\) 大字符串 首先建出 \(sam\) 然后求出 \(siz[i]\) 表示 \(i\) 节点代表的串的 \(endpos\) 的集合大小 然后分情况讨论: \(T==0\) 只统计本质不同的串的个数,所以所有点的 \(siz[i]\) 都 ...
分类:
编程语言 时间:
2020-12-23 11:33:36
阅读次数:
0
复习bfs 这题我们用bfs 做 class Solution { public: int numSquares(int n) { queue <int> q; vector <int> dist(n+1,INT_MAX); q.push(0); dist[0] = 0; while(q.size( ...
分类:
其他好文 时间:
2020-12-21 12:01:05
阅读次数:
0
515. 在每个树行中找最大值 Difficulty: 中等 您需要在二叉树的每一行中找到最大的值。 示例: 输入: 1 / \ 3 2 / \ \ 5 3 9 输出: [1, 3, 9] Solution Language: **** BFS+queue实现层序遍历,十分easy,一次AC。 # ...
分类:
其他好文 时间:
2020-12-11 12:12:45
阅读次数:
4
一、理论 并查集的定义: 并查集是一种树型的数据结构,用于处理一些不交集的合并和查询问题。一般用数组实现。 Find:确定元素属于哪一个子集,它可以被用来确定两个元素是否属于同一个子集。 Union:将两个子集合并成同一个集合。 并查集的优化: 优化1: 降低rank,提高查询效率。合并时要考虑ra ...
分类:
其他好文 时间:
2020-12-04 11:19:39
阅读次数:
6