<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Code_Yilia的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Code_Yilia</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Code_Yilia]]></copyright><item><title><![CDATA[【MySQL】命令行：建立连接、退出当前命令行、退出mysql命令行]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/108102346</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/108102346</guid><author>Code_Yilia</author><pubDate>Wed, 19 Aug 2020 16:06:38 +0800</pubDate><description><![CDATA[MySQL命令行：
以管理员身份运行命令提示符：

跳转到mysql所在位置：cd D:\MySQL\mysql-8.0.21-winx64\bin（如果没跳转成功，再跳一下：D:）
mysql服务的启动和停止：net stop mysql；net start mysql（注意只有红字部分，没有“；”）
建立连接：mysql -u root -p，也可在-p后加上密码，但可能导致密码泄露，最好不要加，键入上述命令后回车，会让输入密码

查看当前运行的线程：show processlist;（注意有“；”）
]]></description><category></category></item><item><title><![CDATA[【二叉搜索树】Leetcode #700 二叉搜索树中的搜索]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107974923</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107974923</guid><author>Code_Yilia</author><pubDate>Thu, 13 Aug 2020 11:08:41 +0800</pubDate><description><![CDATA[题目链接：
#700 二叉搜索树中的搜索
题目描述：
#700. 二叉搜索树中的搜索
给定二叉搜索树（BST）的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在，则返回 NULL。
例如，
给定二叉搜索树:
    4
   / \
  2   7
 / \
1   3

和值: 2
你应该返回如下子树:
  2     
 / \   
1   3

在上述示例中，如果要找的值是 5，但因为没有节点值为 5，我们应该返回 NULL。
通过次数32,1]]></description><category></category></item><item><title><![CDATA[【二叉搜索树】LeetCode #98 验证二叉搜索树（在所有 Java 提交中击败了 100.00% 的用户）]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107973341</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107973341</guid><author>Code_Yilia</author><pubDate>Thu, 13 Aug 2020 10:26:30 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #98 验证二叉搜索树

题目描述：
#98. 验证二叉搜索树
给定一个二叉树，判断其是否是一个有效的二叉搜索树。
假设一个二叉搜索树具有如下特征：
节点的左子树只包含小于当前节点的数。
节点的右子树只包含大于当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。
示例 1:
输入:
2
/ 
1   3
输出: true
示例 2:
输入:
5
/ 
1   4
/ 
3   6
输出: false
解释: 输入为: [5,1,4,null,null,3,6]。
根节点的]]></description><category></category></item><item><title><![CDATA[【链表】LeetCode #61旋转链表]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107972027</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107972027</guid><author>Code_Yilia</author><pubDate>Thu, 13 Aug 2020 09:36:26 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #61旋转链表

题目描述：
#61. 旋转链表
给定一个链表，旋转链表，将链表每个节点向右移动 k 个位置，其中 k 是非负数。
示例 1:
输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL, k = 2
输出: 4-&gt;5-&gt;1-&gt;2-&gt;3-&gt;NULL
解释:
向右旋转 1 步: 5-&gt;1-&gt;2-&gt;3-&gt;4-&gt;NULL
向右旋转 2 步: 4-&gt;5-&gt;1-&gt;2-&gt;3]]></description><category></category></item><item><title><![CDATA[【链表】LeetCode #24 两两交换链表中的节点]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107959368</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107959368</guid><author>Code_Yilia</author><pubDate>Wed, 12 Aug 2020 16:18:05 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #24 两两交换链表中的节点
题目描述：
#24. 两两交换链表中的节点
给定一个链表，两两交换其中相邻的节点，并返回交换后的链表。
你不能只是单纯的改变节点内部的值，而是需要实际的进行节点交换。
示例:
给定 1-&gt;2-&gt;3-&gt;4, 你应该返回 2-&gt;1-&gt;4-&gt;3.
通过次数135,890 提交次数204,775
分析：
两两交换，如果是奇数，最后一位不动。
如：1,2,3,4,5 交换后的结果应为 2,1,4,3,5
方案如下：

因为]]></description><category></category></item><item><title><![CDATA[【链表】LeetCode #2 两数相加（基于链表的两数相加，执行用时战胜 99.89%的Java提交）]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107952304</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107952304</guid><author>Code_Yilia</author><pubDate>Wed, 12 Aug 2020 11:09:52 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #2 两数相加
题目描述：
#2. 两数相加
给出两个 非空 的链表用来表示两个非负的整数。其中，它们各自的位数是按照 逆序 的方式存储的，并且它们的每个节点只能存储 一位 数字。
如果，我们将这两个数相加起来，则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外，这两个数都不会以 0 开头。
示例：
输入：(2 -&gt; 4 -&gt; 3) + (5 -&gt; 6 -&gt; 4)
输出：7 -&gt; 0 -&gt; 8
原因：342 + 465 = 8]]></description><category></category></item><item><title><![CDATA[【链表】LeetCode #反转链表（两种方法：迭代法、递归法）]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107751409</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107751409</guid><author>Code_Yilia</author><pubDate>Sun, 02 Aug 2020 21:33:31 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #反转链表
题目描述：
#206. 反转链表
反转一个单链表。
示例:
输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL
输出: 5-&gt;4-&gt;3-&gt;2-&gt;1-&gt;NULL
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题？
通过次数295,766 提交次数422,186
方法一：迭代法
对于每个节点，需要做以下三步：

保存当前节点的下一个节点 next；
让当前节点 cur 指向前一个节点 pre；
删除 ]]></description><category></category></item><item><title><![CDATA[【链表】LeetCode #203 移除链表元素]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107735457</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107735457</guid><author>Code_Yilia</author><pubDate>Sat, 01 Aug 2020 20:09:53 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #203 移除链表元素

题目描述：
#203. 移除链表元素
删除链表中等于给定值 val 的所有节点。
示例:
输入: 1-&gt;2-&gt;6-&gt;3-&gt;4-&gt;5-&gt;6, val = 6
输出: 1-&gt;2-&gt;3-&gt;4-&gt;5
通过次数92,417 提交次数201,211
分析：
本题是道简单题，但是想一次就A还是有点儿不容易的。
需要注意的有以下几点：

要做删除操作，需要找到的是被删节点的前一个节点，这样只需让 i.next]]></description><category></category></item><item><title><![CDATA[【链表】LeeTCode #160 相交链表（双指针，时间复杂度O(m+n)）]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107733054</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107733054</guid><author>Code_Yilia</author><pubDate>Sat, 01 Aug 2020 17:11:50 +0800</pubDate><description><![CDATA[题目链接：
LeeTCode #160 相交链表

题目描述：
#160. 相交链表
编写一个程序，找到两个单链表相交的起始节点。
如下面的两个链表：
在节点 c1 开始相交。
示例 1：
输入：intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3
输出：Reference of the node with value = 8
输入解释：相交节点的值为 8 （注意，如果两个链表相交则不能为 0）。]]></description><category></category></item><item><title><![CDATA[【链表】LeetCode #141环形链表（快慢指针）]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107731101</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107731101</guid><author>Code_Yilia</author><pubDate>Sat, 01 Aug 2020 15:33:51 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #141环形链表
题目描述：
#141. 环形链表
给定一个链表，判断链表中是否有环。
为了表示给定链表中的环，我们使用整数 pos 来表示链表尾连接到链表中的位置（索引从 0 开始）。 如果 pos 是 -1，则在该链表中没有环。
示例 1：
输入：head = [3,2,0,-4], pos = 1
输出：true
解释：链表中有一个环，其尾部连接到第二个节点。
示例 2：
输入：head = [1,2], pos = 0
输出：true
解释：链表中有一个环，其尾部连接到]]></description><category></category></item><item><title><![CDATA[【链表】LeetCode #19 删除链表的倒数第N个节点（时间复杂度O(n)，在所有Java提交中击败了100%的用户）]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107684911</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107684911</guid><author>Code_Yilia</author><pubDate>Thu, 30 Jul 2020 11:08:46 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #19 删除链表的倒数第N个节点

题目描述：
#19. 删除链表的倒数第N个节点
给定一个链表，删除链表的倒数第 n 个节点，并且返回链表的头结点。
示例：
给定一个链表: 1-&gt;2-&gt;3-&gt;4-&gt;5, 和 n = 2.
当删除了倒数第二个节点后，链表变为 1-&gt;2-&gt;3-&gt;5.
说明：
给定的 n 保证是有效的。
进阶：
你能尝试使用一趟扫描实现吗？
通过次数205,209 提交次数524,857
分析：
这个题的难度在于如何在一趟]]></description><category></category></item><item><title><![CDATA[【链表】LeetCode #83 删除排序链表中的重复元素 （两种方法）]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107683363</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107683363</guid><author>Code_Yilia</author><pubDate>Thu, 30 Jul 2020 10:21:37 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #83 删除排序链表中的重复元素
题目描述：
#83. 删除排序链表中的重复元素
给定一个排序链表，删除所有重复的元素，使得每个元素只出现一次。
示例 1:
输入: 1-&gt;1-&gt;2
输出: 1-&gt;2
示例 2:
输入: 1-&gt;1-&gt;2-&gt;3-&gt;3
输出: 1-&gt;2-&gt;3
通过次数123,788 提交次数242,480
方法一：
直接对比当前结点的值 cur.val 与下一个结点的值 cur.next.val 是否相等，若相等]]></description><category></category></item><item><title><![CDATA[【链表】LeetCode #21 合并两个有序链表]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107640368</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107640368</guid><author>Code_Yilia</author><pubDate>Tue, 28 Jul 2020 17:16:28 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #21 合并两个有序链表

题目描述：
#21. 合并两个有序链表（难度：简单）
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例：
输入：1-&gt;2-&gt;4, 1-&gt;3-&gt;4
输出：1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4
通过次数325,435提交次数512,003
分析：
该题是链表题目中的基础题，太久没接触链表了，还是给自己绕了好久…

定义两个指针 head、pre：初始化]]></description><category></category></item><item><title><![CDATA[【贪心算法】LeetCode #134 加油站]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107628008</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107628008</guid><author>Code_Yilia</author><pubDate>Tue, 28 Jul 2020 09:39:45 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #134 加油站

题目描述：
#134. 加油站（难度：中等）
在一条环路上有 N 个加油站，其中第 i 个加油站有汽油 gas[i] 升。
你有一辆油箱容量无限的的汽车，从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发，开始时油箱为空。
如果你可以绕环路行驶一周，则返回出发时加油站的编号，否则返回 -1。
说明:
如果题目有解，该答案即为唯一答案。
输入数组均为非空数组，且长度相同。
输入数组中的元素均为非负数。
示例 1]]></description><category></category></item><item><title><![CDATA[【贪心算法】LeetCode #122 买卖股票的最佳时机 II]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107614695</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107614695</guid><author>Code_Yilia</author><pubDate>Mon, 27 Jul 2020 16:38:02 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #122 买卖股票的最佳时机 II

题目描述：
#122. 买卖股票的最佳时机 II
给定一个数组，它的第 i 个元素是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易（多次买卖一支股票）。
注意：你不能同时参与多笔交易（你必须在再次购买前出售掉之前的股票）。
示例 1:
输入: [7,1,5,3,6,4]
输出: 7
解释: 在第 2 天（股票价格 = 1）的时候买入，在第 3 天（股票价格 = 5）的时候卖出, 这笔交易]]></description><category></category></item><item><title><![CDATA[【贪心算法】LeetCode #55 跳跃游戏]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107606515</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107606515</guid><author>Code_Yilia</author><pubDate>Mon, 27 Jul 2020 11:05:26 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #55 跳跃游戏

题目描述：
#55. 跳跃游戏
给定一个非负整数数组，你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个位置。
示例 1:
输入: [2,3,1,1,4]
输出: true
解释: 我们可以先跳 1 步，从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。
示例 2:
输入: [3,2,1,0,4]
输出: false
解释: 无论怎样，你总会到达索引为 3 的位置。但该位置的]]></description><category></category></item><item><title><![CDATA[【Java基础】i = i + 1,i += 1, i++, ++i 的区别]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107595583</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107595583</guid><author>Code_Yilia</author><pubDate>Sun, 26 Jul 2020 17:37:59 +0800</pubDate><description><![CDATA[问题引入：
最开始是因为看到了一个题：
① short s1 = 1; s1 = s1 + 1;
② short s1 = 1; s1 += 1;
上面两条是否都可以成功编译？
答：① 中，由于 1 是 int 类型的，因此 s1 + 1 也是 int 类型的，需要进行强制类型转换，才能赋值给 short；
② 中，s1 += 1 就相当于 s1 = ((short)s1 + 1)，+= 本身就隐含着强制类型转换，故可正确编译。
问题拓展：
上面涉及到了 += 和 s1 = s1 + 1 的区别，除了 +=]]></description><category></category></item><item><title><![CDATA[【贪心入门】LeetCode #455 分发饼干]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/107480941</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/107480941</guid><author>Code_Yilia</author><pubDate>Tue, 21 Jul 2020 10:08:03 +0800</pubDate><description><![CDATA[（终于考完试了啊啊啊啊啊）
题目链接：
LeetCode #455 分发饼干
题目描述：
#455. 分发饼干
假设你是一位很棒的家长，想要给你的孩子们一些小饼干。但是，每个孩子最多只能给一块饼干。对每个孩子 i ，都有一个胃口值 gi ，这是能让孩子们满足胃口的饼干的最小尺寸；并且每块饼干 j ，都有一个尺寸 sj 。如果 sj &gt;= gi ，我们可以将这个饼干 j 分配给孩子 i ，这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子，并输出这个最大数值。
注意：
你可以假设胃口值为正。
一个小]]></description><category></category></item><item><title><![CDATA[【递归】 LeetCode #面试题64 求1+2+...+n （巧用逻辑运算符“&&”、“||”设置递归的出口）]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/106564202</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/106564202</guid><author>Code_Yilia</author><pubDate>Fri, 05 Jun 2020 10:22:58 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #面试题64 求1+2+…+n
题目描述：
#面试题64. 求1+2+…+n
求 1+2+…+n ，要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句（A?B:C）。
示例 1：
输入: n = 3
输出: 6
示例 2：
输入: n = 9
输出: 45
限制：
1 &lt;= n &lt;= 10000
通过次数44,332 | 提交次数51,623
分析：
这个题是把简单题加了诸多限制，变成了一道中等难度的题目。
因为不能]]></description><category></category></item><item><title><![CDATA[【二维动态规划】 LeetCode #63 不同路径 II（执行用时在所有 Java 提交中击败了 100.00% 的用户）]]></title><link>https://blog.youkuaiyun.com/Code_Yilia/article/details/106327793</link><guid>https://blog.youkuaiyun.com/Code_Yilia/article/details/106327793</guid><author>Code_Yilia</author><pubDate>Mon, 25 May 2020 10:41:41 +0800</pubDate><description><![CDATA[题目链接：
LeetCode #63 不同路径 II
题目描述：
#63. 不同路径 II
一个机器人位于一个 m x n 网格的左上角 （起始点在下图中标记为“Start” ）。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角（在下图中标记为“Finish”）。
现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径？

网格中的障碍物和空位置分别用 1 和 0 来表示。
说明：m 和 n 的值均不超过 100。
示例 1:
输入:
[
[0,0,0],
[0,1,0],
[0]]></description><category></category></item></channel></rss>