<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Gyibin的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Gyibin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Gyibin]]></copyright><item><title><![CDATA[二叉树的三种遍历（非递归）]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/108576692</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/108576692</guid><author>Gyibin</author><pubDate>Mon, 14 Sep 2020 11:53:39 +0800</pubDate><description><![CDATA[前序遍历：
144. 二叉树的前序遍历
给定一个二叉树，返回它的 前序 遍历。
示例:
输入: [1,null,2,3]
1

2
/
3
输出: [1,2,3]
进阶: 递归算法很简单，你可以通过迭代算法完成吗？
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x)]]></description><category></category></item><item><title><![CDATA[332. 重新安排行程 （dfs+离散）]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/108262244</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/108262244</guid><author>Gyibin</author><pubDate>Thu, 27 Aug 2020 15:45:03 +0800</pubDate><description><![CDATA[重新安排行程
给定一个机票的字符串二维数组 [from, to]，子数组中的两个成员分别表示飞机出发和降落的机场地点，对该行程进行重新规划排序。所有这些机票都属于一个从 JFK（肯尼迪国际机场）出发的先生，所以该行程必须从 JFK 开始。

说明:
如果存在多种有效的行程，你可以按字符自然排序返回最小的行程组合。例如，行程 [“JFK”, “LGA”] 与 [“JFK”, “LGB”] 相比就更小，排序更靠前
所有的机场都用三个大写字母表示（机场代码）。
假定所有机票至少存在一种合理的行程。
示例 1:
.]]></description><category></category></item><item><title><![CDATA[694 .24点游戏]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/108170074</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/108170074</guid><author>Gyibin</author><pubDate>Sat, 22 Aug 2020 16:10:20 +0800</pubDate><description><![CDATA[24 点游戏
你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 *，/，+，-，(，) 的运算得到 24。

示例 1:
输入: [4, 1, 8, 7]
输出: True
解释: (8-4) * (7-1) = 24
示例 2:
输入: [1, 2, 1, 2]
输出: False
注意:
除法运算符 / 表示实数除法，而不是整数除法。例如 4 / (1 - 2/3) = 12 。
每个运算符对两个数进行运算。特别是我们不能用 - 作为一元运算符。例如，[1, 1, 1, 1] 作为输入时，.]]></description><category></category></item><item><title><![CDATA[733. 图像渲染 （dfs)]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/108046437</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/108046437</guid><author>Gyibin</author><pubDate>Sun, 16 Aug 2020 23:23:56 +0800</pubDate><description><![CDATA[图像渲染
有一幅以二维整数数组表示的图画，每一个整数表示该图画的像素值大小，数值在 0 到 65535 之间。

给你一个坐标 (sr, sc) 表示图像渲染开始的像素值（行 ，列）和一个新的颜色值 newColor，让你重新上色这幅图像。
为了完成上色工作，从初始坐标开始，记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点，接着再记录这四个方向上符合条件的像素点与他们对应四个方向上像素值与初始坐标相同的相连像素点，……，重复该过程。将所有有记录的像素点的颜色值改为新的颜色值。
最后返回经过.]]></description><category></category></item><item><title><![CDATA[133克隆图(dfs)]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107968304</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107968304</guid><author>Gyibin</author><pubDate>Wed, 12 Aug 2020 22:29:15 +0800</pubDate><description><![CDATA[克隆图
给你无向 连通 图中一个节点的引用，请你返回该图的 深拷贝（克隆）。

图中的每个节点都包含它的值 val（int） 和其邻居的列表（list[Node]）。
class Node {
public int val;
public List neighbors;
}
测试用例格式：
简单起见，每个节点的值都和它的索引相同。例如，第一个节点值为 1（val = 1），第二个节点值为 2（val = 2），以此类推。该图在测试用例中使用邻接列表表示。
邻接列表 是用于表示有限图的无序列表的集合。每个列.]]></description><category></category></item><item><title><![CDATA[130. 被围绕的区域 （dfs)]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107946983</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107946983</guid><author>Gyibin</author><pubDate>Tue, 11 Aug 2020 23:20:01 +0800</pubDate><description><![CDATA[被围绕的区域
给定一个二维的矩阵，包含 ‘X’ 和 ‘O’（字母 O）。

找到所有被 ‘X’ 围绕的区域，并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。
示例:
X X X X
X O O X
X X O X
X O X X
运行你的函数后，矩阵变为：
X X X X
X X X X
X X X X
X O X X
解释:
被围绕的区间不会存在于边界上，换句话说，任何边界上的 ‘O’ 都不会被填充为 ‘X’。 任何不在边界上，或不与边界上的 ‘O’ 相连的 ‘O’ 最终都会被填充为 ‘X’。如果两个元.]]></description><category></category></item><item><title><![CDATA[P3865 【模板】ST表]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107919525</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107919525</guid><author>Gyibin</author><pubDate>Tue, 11 Aug 2020 23:18:10 +0800</pubDate><description><![CDATA[P3865 【模板】ST表
提交
54.70k
通过
21.82k
时间限制
800ms
内存限制
125.00MB
提交答案
加入收藏
题目提供者
HansBug
难度
普及/提高-
历史分数
100
提交记录  查看题解
标签
O2优化
高性能
进入讨论版
相关讨论
推荐题目
展开
题目背景
这是一道ST表经典题——静态区间最大值
请注意最大数据时限只有0.8s，数据强度不低，请务必保证你的每次查询复杂度为 O(1)O(1)。若使用更高时间复杂度算法不保证能通过。
如果您认为您的代码时间复杂度正确但是 ]]></description><category></category></item><item><title><![CDATA[P3379 【模板】最近公共祖先（LCA）]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107919472</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107919472</guid><author>Gyibin</author><pubDate>Mon, 10 Aug 2020 18:40:15 +0800</pubDate><description><![CDATA[P3379 【模板】最近公共祖先（LCA）
提交
129.76k
通过
45.50k
时间限制
1.50s
内存限制
500.00MB
提交答案
加入收藏
题目提供者
HansBug
难度
普及/提高-
历史分数
100
提交记录  查看题解
标签
O2优化
进入讨论版
相关讨论
推荐题目
展开
题目描述
如题，给定一棵有根多叉树，请求出指定两个点直接最近的公共祖先。
输入格式
第一行包含三个正整数 N,M,SN,M,S，分别表示树的结点个数、询问的个数和树根结点的序号。
接下来 N-1N−1 行每行包含两]]></description><category></category></item><item><title><![CDATA[5471. 和为目标值的最大数目不重叠非空子数组数目  (set)]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107896057</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107896057</guid><author>Gyibin</author><pubDate>Sun, 09 Aug 2020 16:38:08 +0800</pubDate><description><![CDATA[和为目标值的最大数目不重叠非空子数组数目
给你一个数组 nums 和一个整数 target 。

请你返回 非空不重叠 子数组的最大数目，且每个子数组中数字和都为 target 。
示例 1：
输入：nums = [1,1,1,1,1], target = 2
输出：2
解释：总共有 2 个不重叠子数组（加粗数字表示） [1,1,1,1,1] ，它们的和为目标值 2 。
示例 2：
输入：nums = [-1,3,5,1,4,2,-9], target = 6
输出：2
解释：总共有 3 个子数组和为 6.]]></description><category></category></item><item><title><![CDATA[94 二叉树的中序遍历（递归）]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107896018</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107896018</guid><author>Gyibin</author><pubDate>Sun, 09 Aug 2020 16:36:37 +0800</pubDate><description><![CDATA[二叉树的中序遍历
给定一个二叉树，返回它的中序 遍历。

示例:
输入: [1,null,2,3]
1

2
/
3
输出: [1,3,2]
进阶: 递归算法很简单，你可以通过迭代算法完成吗？
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x),.]]></description><category></category></item><item><title><![CDATA[93 复原ip地址(dfs)]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107895853</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107895853</guid><author>Gyibin</author><pubDate>Sun, 09 Aug 2020 16:29:30 +0800</pubDate><description><![CDATA[复原IP地址
给定一个只包含数字的字符串，复原它并返回所有可能的 IP 地址格式。

有效的 IP 地址正好由四个整数（每个整数位于 0 到 255 之间组成），整数之间用 ‘.’ 分隔。
示例:
输入: “25525511135”
输出: [“255.255.11.135”, “255.255.111.35”]
class Solution {
vector&lt;string&gt;res;
public:
    void dfs(string s,int n,string ip){
      i.]]></description><category></category></item><item><title><![CDATA[牛客编程巅峰赛S1第8场 - 黄金&钻石 B.字符串模拟C.bfs]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107883736</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107883736</guid><author>Gyibin</author><pubDate>Sat, 08 Aug 2020 18:22:09 +0800</pubDate><description><![CDATA[链接：https://ac.nowcoder.com/acm/contest/6777/B
来源：牛客网
题目描述
牛牛想给牛妹写信，但是牛牛怕信中的信息泄露出去，于是用playfair加密信息。加密过程中的j都由i来代替。playfair加密算法首先需要绘制密码表，密码表是一个5*5的矩阵，开始由密钥按顺序排列，其余按照未出现的字母顺序。若密钥中含有重复字母需要将重复字母去掉，若有j用i来代替，例如密钥为nowcoder，得到的密码表为
加密明文需要符合以下规则：
将明文中每两个字母组成一对，若成对后是两]]></description><category></category></item><item><title><![CDATA[牛客编程巅峰赛S1第8场 - 青铜&白银 A.数学B.贪心C.枚举]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107883688</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107883688</guid><author>Gyibin</author><pubDate>Sat, 08 Aug 2020 18:20:35 +0800</pubDate><description><![CDATA[链接：https://ac.nowcoder.com/acm/contest/6776/A
来源：牛客网
题目描述
牛牛有一个边长为1的正六边形，只要牛牛一推它就可以一直滚下去，正六边形左下角为A，牛牛想知道正六边形翻滚k次A点的轨迹边长是多少呢。如图是正六边形翻滚一次的情况。给定正六边形翻滚次数k，求A点翻滚轨迹长度
示例1
输入
复制
3
输出
复制
4.955392
备注:
1\leq k\le10^31≤k≤10
3
，返回值与答案误差应小于0.00001
class Solution {
publ]]></description><category></category></item><item><title><![CDATA[牛客编程巅峰赛S1第7场 - 青铜&白银 A.模拟]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107883655</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107883655</guid><author>Gyibin</author><pubDate>Sat, 08 Aug 2020 18:15:27 +0800</pubDate><description><![CDATA[链接：https://ac.nowcoder.com/acm/contest/6630/A
来源：牛客网
题目描述
牛牛有一个没有重复元素的数组a，他想要将数组内第n大的数字和第m大的数(从大到小排序)交换位置你能帮帮他吗。给定一个数组a，求交换第n大和第m大元素后的数组。
示例1
输入
复制
[1,2],1,2
输出
复制
[2,1]
备注:
,1≤n,m≤∣a∣,1≤ai≤1e3
 bool cmp(int a,int b){
        return a&gt;b;
    }
class Sol]]></description><category></category></item><item><title><![CDATA[牛客编程巅峰赛S1第7场 - 黄金&钻石   A.dfs B.dpC.快速幂]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107883586</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107883586</guid><author>Gyibin</author><pubDate>Sat, 08 Aug 2020 18:12:46 +0800</pubDate><description><![CDATA[链接：https://ac.nowcoder.com/acm/contest/6631/A
来源：牛客网
题目描述
题意
身为屯里第一剑士的牛牛来到训练场里闯关，由于过于勤奋，牛牛的宝剑的耐久度降到了 22 ，这意味着牛牛最多只能打倒两只怪兽，否则将会被淘汰。
训练场的地图可以看作一棵以 11 为根节点的树，训练场的终点为这棵树的叶子结点，树上的每个结点最多有一只怪兽，结点与结点间的边上没有怪兽。
每一个有怪兽的结点上牛牛都需要打倒怪兽才算安全，并且牛牛一旦选定好打怪路线之后便不能走回头路。
请问牛牛有多少]]></description><category></category></item><item><title><![CDATA[100 相同的树 （递归）]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107883477</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107883477</guid><author>Gyibin</author><pubDate>Sat, 08 Aug 2020 18:00:09 +0800</pubDate><description><![CDATA[相同的树
给定两个二叉树，编写一个函数来检验它们是否相同。

如果两个树在结构上相同，并且节点具有相同的值，则认为它们是相同的。
示例 1:
输入:       1         1
/ \       / 
2   3     2   3
    [1,2,3],   [1,2,3]

输出: true
示例 2:
输入:      1          1
/           
2             2
    [1,2],     [1,null,2]

输出: false
示例 3:
.]]></description><category></category></item><item><title><![CDATA[leetcode 99 恢复二叉树]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107883440</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107883440</guid><author>Gyibin</author><pubDate>Sat, 08 Aug 2020 17:58:20 +0800</pubDate><description><![CDATA[恢复二叉搜索树
二叉搜索树中的两个节点被错误地交换。

请在不改变其结构的情况下，恢复这棵树。
示例 1:
输入: [1,3,null,null,2]
1
/
3

2
输出: [3,1,null,null,2]
3
/
1

2
示例 2:
输入: [3,1,4,null,null,2]
3
/ 
1   4
/
2
输出: [2,1,4,null,null,3]
2
/ 
1   4
/
3
进阶:
使用 O(n) 空间复杂度的解法很容易实现。
你能想出一个只使用常数空间的解决方案吗？
/**
 * .]]></description><category></category></item><item><title><![CDATA[P1364 医院设置  （换根DP）]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107827729</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107827729</guid><author>Gyibin</author><pubDate>Wed, 05 Aug 2020 23:11:45 +0800</pubDate><description><![CDATA[P1364 医院设置
提交
9.17k
通过
6.04k
时间限制
1.00s
内存限制
125.00MB
提交答案
加入收藏
题目提供者
洛谷
难度
普及/提高-
历史分数
100
提交记录  查看题解
标签
进入讨论版
相关讨论
推荐题目
展开
题目描述
设有一棵二叉树，如图：
其中，圈中的数字表示结点中居民的人口。圈边上数字表示结点编号，现在要求在某个结点上建立一个医院，使所有居民所走的路程之和为最小，同时约定，相邻接点之间的距离为 11。如上图中，若医院建在1 处，则距离和 =4+12+2\time]]></description><category></category></item><item><title><![CDATA[P2015二叉苹果树 （树上DP）]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107827683</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107827683</guid><author>Gyibin</author><pubDate>Wed, 05 Aug 2020 23:08:05 +0800</pubDate><description><![CDATA[P2015 二叉苹果树
提交
15.30k
通过
7.27k
时间限制
1.00s
内存限制
125.00MB
提交答案
加入收藏
题目提供者
洛谷
难度
普及/提高-
历史分数
100
提交记录  查看题解
标签
进入讨论版
相关讨论
推荐题目
展开
题目描述
有一棵苹果树，如果树枝有分叉，一定是分2叉（就是说没有只有1个儿子的结点）
这棵树共有N个结点（叶子点或者树枝分叉点），编号为1-N,树根编号一定是1。
我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。下面是一颗有4个树枝的树
2   5
]]></description><category></category></item><item><title><![CDATA[【动态规划】矩形嵌套 （DGA上的动态规划）]]></title><link>https://blog.youkuaiyun.com/Gyibin/article/details/107811837</link><guid>https://blog.youkuaiyun.com/Gyibin/article/details/107811837</guid><author>Gyibin</author><pubDate>Wed, 05 Aug 2020 11:47:25 +0800</pubDate><description><![CDATA[题目描述
有n个矩形，每个矩形可以用a,b来描述，表示长和宽。矩形X(a,b)可以嵌套在 矩形Y(c,d)中当且仅当a&lt;c,b&lt;d或者 b&lt;c,a&lt;d（相当于旋转X90度）。例如（1,5）可以嵌套在（6,2）内，但不能嵌套在（3,4）中。你的任务是选出尽可能多的矩形排 成一行，使得除最后一个外，每一个矩形都可以嵌套在下一个矩形内。
输入
第一行是一个正正数N(0&lt;N&lt;10)，表示测试数据组数，
每组测试数据的第一行是一个正正数n，表示该组测试数据中含有矩形的个数(n&lt]]></description><category></category></item></channel></rss>