<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[github_38683027的博客]]></title><description><![CDATA[记录一下学习过程]]></description><link>https://blog.youkuaiyun.com/github_38683027</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; github_38683027]]></copyright><item><title><![CDATA[(刷题笔记) Leetcode 207. 课程表]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107294230</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107294230</guid><author>github_38683027</author><pubDate>Sun, 12 Jul 2020 01:55:48 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
你这个学期必须选修 numCourse 门课程，记为 0 到 numCourse-1 。
在选修某些课程之前需要一些先修课程。 例如，想要学习课程 0 ，你需要先完成课程 1 ，我们用一个匹配来表示他们：[0,1]
给定课程总量以及它们的先决条件，请你判断是否可能完成所有课程的学习？
示例 1:
输入: 2, [[1,0]]
输出: true
解释: 总共有 2 门课程。学习课程 1 之前，你需要完成课程 0。所以这是可能的。
示例 2:
输入: 2, [[1,0],[]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 279. 完全平方数]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107268929</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107268929</guid><author>github_38683027</author><pubDate>Fri, 10 Jul 2020 21:48:06 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
给定正整数 n，找到若干个完全平方数（比如 1, 4, 9, 16, …）使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。
示例 1:
输入: n = 12
输出: 3
解释: 12 = 4 + 4 + 4.
示例 2:
输入: n = 13
输出: 2
解释: 13 = 4 + 9.
来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/perfect-squares
解题思路
写了这么多道广度优先搜索和动]]></description><category></category></item><item><title><![CDATA[(刷题笔记) 1306. 跳跃游戏 III]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107261932</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107261932</guid><author>github_38683027</author><pubDate>Fri, 10 Jul 2020 19:20:07 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
这里有一个非负整数数组 arr，你最开始位于该数组的起始下标 start 处。当你位于下标 i 处时，你可以跳到 i + arr[i] 或者 i - arr[i]。
请你判断自己是否能够跳到对应元素值为 0 的 任一 下标处。
注意，不管是什么情况下，你都无法跳到数组之外。
示例 1：
输入：arr = [4,2,3,0,3,1,2], start = 5
输出：true
解释：
到达值为 0 的下标 3 有以下可能方案：
下标 5 -&gt; 下标 4 -&gt; 下]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 309. 最佳买卖股票时机含冷冻期]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107241756</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107241756</guid><author>github_38683027</author><pubDate>Fri, 10 Jul 2020 02:41:21 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
给定一个整数数组，其中第 i 个元素代表了第 i 天的股票价格 。​
设计一个算法计算出最大利润。在满足以下约束条件下，你可以尽可能地完成更多的交易（多次买卖一支股票）:
你不能同时参与多笔交易（你必须在再次购买前出售掉之前的股票）。
卖出股票后，你无法在第二天买入股票 (即冷冻期为 1 天)。

示例:
输入: [1,2,3,0,2]
输出: 3
解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]
来源：力扣（LeetCode）
链接：https:]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 529. 扫雷游戏]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107241441</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107241441</guid><author>github_38683027</author><pubDate>Fri, 10 Jul 2020 01:16:18 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
让我们一起来玩扫雷游戏！
给定一个代表游戏板的二维字符矩阵。 ‘M’ 代表一个未挖出的地雷，‘E’ 代表一个未挖出的空方块，‘B’ 代表没有相邻（上，下，左，右，和所有4个对角线）地雷的已挖出的空白方块，数字（‘1’ 到 ‘8’）表示有多少地雷与这块已挖出的方块相邻，‘X’ 则表示一个已挖出的地雷。
现在给出在所有未挖出的方块中（‘M’或者’E’）的下一个点击位置（行和列索引），根据以下规则，返回相应位置被点击后对应的面板：
如果一个地雷（'M'）被挖出，游戏就结束了-]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 515. 在每个树行中找最大值]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107238418</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107238418</guid><author>github_38683027</author><pubDate>Thu, 09 Jul 2020 21:43:33 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
您需要在二叉树的每一行中找到最大的值。
示例：
输入:
      1
     / \
    3   2
   / \   \  
  5   3   9 

输出: [1, 3, 9]
来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/find-largest-value-in-each-tree-row
解题思路
还是简单的层序遍历
代码(C++)
/**
 * Definition for a binary]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 199. 二叉树的右视图]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107237836</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107237836</guid><author>github_38683027</author><pubDate>Thu, 09 Jul 2020 21:24:00 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
给定一棵二叉树，想象自己站在它的右侧，按照从顶部到底部的顺序，返回从右侧所能看到的节点值。
示例:
输入: [1,2,3,null,5,null,4]
输出: [1, 3, 4]
解释:
    1            &lt;---
  /   \
 2     3         &lt;---
  \     \
   5     4       &lt;---

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/proble]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 面试题 17.13. 恢复空格]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107235500</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107235500</guid><author>github_38683027</author><pubDate>Thu, 09 Jul 2020 20:24:54 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
哦，不！你不小心把一个长篇文章中的空格、标点都删掉了，并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前，你得先把它断成词语。当然了，你有一本厚厚的词典dictionary，不过，有些词没在词典里。假设文章用sentence表示，设计一个算法，把文章断开，要求未识别的字符最少，返回未识别的字符数。]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 513. 找树左下角的值]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107217517</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107217517</guid><author>github_38683027</author><pubDate>Thu, 09 Jul 2020 00:32:52 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
给定一个二叉树，在树的最后一行找到最左边的值。
示例 1:
输入:

  2
 / \
1   3

输出:
1

示例 2:
输入:

    1
   / \
  2   3
 /   / \
4   5   6
   /
  7

输出:
7

注意: 您可以假设树（即给定的根节点）不为 NULL。
来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/find-bottom-left-tree-value
解题思]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 993. 二叉树的堂兄弟节点]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107217070</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107217070</guid><author>github_38683027</author><pubDate>Wed, 08 Jul 2020 23:02:54 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
在二叉树中，根节点位于深度 0 处，每个深度为 k 的节点的子节点位于深度 k+1 处。
如果二叉树的两个节点深度相同，但父节点不同，则它们是一对堂兄弟节点。
我们给出了具有唯一值的二叉树的根节点 root，以及树中两个不同节点的值 x 和 y。
只有与值 x 和 y 对应的节点是堂兄弟节点时，才返回 true。否则，返回 false。
示例 1：
 输入：root = [1,2,3,4], x = 4, y = 3
输出：false
示例 2：

输入：root = ]]></description><category></category></item><item><title><![CDATA[(刷题笔记) leetcode 面试题 16.11. 跳水板]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107194630</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107194630</guid><author>github_38683027</author><pubDate>Wed, 08 Jul 2020 00:37:19 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
你正在使用一堆木板建造跳水板。有两种类型的木板，其中长度较短的木板长度为shorter，长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法，生成跳水板所有可能的长度。
返回的长度需要从小到大排列。
示例：
输入：
 shorter = 1
 longer = 2
 k = 3
 输出： {3,4,5,6}

提示：
0 &lt; shorter &lt;= longer
0 &lt;= k &lt;= 100000

来源：力扣（LeetCode）
]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 112. 路径总和]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107193832</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107193832</guid><author>github_38683027</author><pubDate>Wed, 08 Jul 2020 00:14:00 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
给定一个二叉树和一个目标和，判断该树中是否存在根节点到叶子节点的路径，这条路径上所有节点值相加等于目标和。
说明: 叶子节点是指没有子节点的节点。
示例:
给定如下二叉树，以及目标和 sum = 22，
          5
         / \
        4   8
       /   / \
      11  13  4
     /  \      \
    7    2      1

返回 true, 因为存在目标和为 22 的根节点到叶子节]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 111. 二叉树的最小深度]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107184969</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107184969</guid><author>github_38683027</author><pubDate>Tue, 07 Jul 2020 22:56:29 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
给定一个二叉树，找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7],
  3
 / \
9  20
   /  \
  15   7

返回它的最小深度  2.
来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/minimum-depth-of-binary-tree
解题思路
这个我一]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 733. 图像渲染]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107167589</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107167589</guid><author>github_38683027</author><pubDate>Mon, 06 Jul 2020 21:41:05 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
有一幅以二维整数数组表示的图画，每一个整数表示该图画的像素值大小，数值在 0 到 65535 之间。
给你一个坐标 (sr, sc) 表示图像渲染开始的像素值（行 ，列）和一个新的颜色值 newColor，让你重新上色这幅图像。
为了完成上色工作，从初始坐标开始，记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点，接着再记录这四个方向上符合条件的像素点与他们对应四个方向上像素值与初始坐标相同的相连像素点，……，重复该过程。将所有有记录的像素点的颜色值改为新]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 面试题 08.10. 颜色填充]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107159830</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107159830</guid><author>github_38683027</author><pubDate>Mon, 06 Jul 2020 19:45:22 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
编写函数，实现许多图片编辑软件都支持的「颜色填充」功能。
待填充的图像用二维数组 image 表示，元素为初始颜色值。初始坐标点的横坐标为 sr 纵坐标为 sc。需要填充的新颜色为 newColor 。
「周围区域」是指颜色相同且在上、下、左、右四个方向上存在相连情况的若干元素。
请用新颜色填充初始坐标点的周围区域，并返回填充后的图像。
示例：

 输入：
 image = [[1,1,1],[1,1,0],[1,0,1]] 
 sr = 1, sc = 1, newC]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 690. 员工的重要性]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107130882</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107130882</guid><author>github_38683027</author><pubDate>Sun, 05 Jul 2020 16:55:32 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
给定一个保存员工信息的数据结构，它包含了员工唯一的id，重要度 和 直系下属的id。
比如，员工1是员工2的领导，员工2是员工3的领导。他们相应的重要度为15, 10, 5。那么员工1的数据结构是[1, 15, [2]]，员工2的数据结构是[2, 10, [3]]，员工3的数据结构是[3, 5, []]。注意虽然员工3也是员工1的一个下属，但是由于并不是直系下属，因此没有体现在员工1的数据结构中。
现在输入一个公司的所有员工信息，以及单个员工id，返回这个员工和他所有下]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 897. 递增顺序查找树]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107115398</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107115398</guid><author>github_38683027</author><pubDate>Fri, 03 Jul 2020 23:09:49 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
给你一个树，请你 按中序遍历 重新排列树，使树中最左边的结点现在是树的根，并且每个结点没有左子结点，只有一个右子结点。
示例 ：
输入：[5,3,6,2,4,null,8,1,null,null,null,7,9]

      5
     / \
    3    6
   / \    \
  2   4    8
 /        / \ 
1        7   9

输出：[1,null,2,null,3,null,4,null,5,null,6,nul]]></description><category></category></item><item><title><![CDATA[(OpenCV学习) FileStorage()——将Mat存储为txt]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/107072702</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/107072702</guid><author>github_38683027</author><pubDate>Thu, 02 Jul 2020 00:40:53 +0800</pubDate><description><![CDATA[目录头文件功能代码(C++)结果
头文件
 #include &lt;opencv2/core/persistence.hpp&gt;

功能
XML / YAML / JSON文件存储类，封装了将数据写入文件或从文件读取数据所需的所有信息。

代码(C++)
这里的h是我前面的代码求出来的单应性矩阵，其他的int，double和string的写入测试没有定义变量
    Mat test = h;
    FileStorage fs("test.txt", FileStorage::WRITE);
  ]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 198. 打家劫舍]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/106960346</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/106960346</guid><author>github_38683027</author><pubDate>Thu, 25 Jun 2020 19:54:35 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
你是一个专业的小偷，计划偷窃沿街的房屋。每间房内都藏有一定的现金，影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统，如果两间相邻的房屋在同一晚上被小偷闯入，系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组，计算你 不触动警报装置的情况下 ，一夜之内能够偷窃到的最高金额。
示例 1：
输入：[1,2,3,1]
输出：4
解释：偷窃 1 号房屋 (金额 = 1) ，然后偷窃 3 号房屋 (金额 = 3)。
 偷窃到的最高金额 = 1 + 3 = 4 ]]></description><category></category></item><item><title><![CDATA[(刷题笔记) Leetcode 746. 使用最小花费爬楼梯]]></title><link>https://blog.youkuaiyun.com/github_38683027/article/details/106958670</link><guid>https://blog.youkuaiyun.com/github_38683027/article/details/106958670</guid><author>github_38683027</author><pubDate>Thu, 25 Jun 2020 16:48:17 +0800</pubDate><description><![CDATA[目录题目解题思路代码(C++)
题目
数组的每个索引作为一个阶梯，第 i个阶梯对应着一个非负数的体力花费值 cost[i] (索引从0开始)。
每当你爬上一个阶梯你都要花费对应的体力花费值，然后你可以选择继续爬一个阶梯或者爬两个阶梯。
您需要找到达到楼层顶部的最低花费。在开始时，你可以选择从索引为 0 或 1 的元素作为初始阶梯。
示例 1:
输入: cost = [10, 15, 20]
输出: 15
解释: 最低花费是从cost[1]开始，然后走两步即可到阶梯顶，一共花费15。

示例 2:
输入: c]]></description><category></category></item></channel></rss>