☆☆☆思路:剑指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
折半搜索,$O(n)$型枚举,时间复杂度(\(O(n^2logn)\)) const int N=4010; int a[N],b[N],c[N],d[N]; int ab[N*N]; int n; int main() { cin>>n; for(int i=0;i<n;i++) cin>>a[i ...
分类:
其他好文 时间:
2020-12-18 12:31:13
阅读次数:
2
pojo、dao、service、servletweb、 前端界面文件 JavaEE 的三层结构: 表现层 : 前端界面文件、servlet 业务逻辑层: service层 持久层: dao、 pojo MVC 设计模式 M (model)业务逻辑层: service 、 dao、 pojo C ( ...
分类:
Web程序 时间:
2020-12-17 12:08:25
阅读次数:
2
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