<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LUFFYLLLLL的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LUFFYLLLLL</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LUFFYLLLLL]]></copyright><item><title><![CDATA[Day31|56.合并区间、738.单调递增的数字、968.监控二叉树]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/152728446</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/152728446</guid><author>LUFFYLLLLL</author><pubDate>Wed, 08 Oct 2025 17:15:04 +0800</pubDate><description><![CDATA[本人是改变每一个遍历的区间（开始取上一个区间，结束取上一个和这个的更大的那个值），这样运行时间比较慢。参考解法是把区间先存进结果，然后改变区间结束的位置，运行快。968.监控二叉树 （可跳过）738.单调递增的数字。]]></description><category></category></item><item><title><![CDATA[Day30|452.用最少数量的箭引爆气球、435.无重叠区间、763.划分字母区间]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/152665562</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/152665562</guid><author>LUFFYLLLLL</author><pubDate>Tue, 07 Oct 2025 18:31:28 +0800</pubDate><description><![CDATA[这道题自己分析的太复杂了。这题有个点我想错了，要清晰的知道：区间越大，覆盖越多，要删除的数量也就越多。思考的时候我刚好想反了。452.用最少数量的箭引爆气球。之前做过，所以这次做出来了。763.划分字母区间。想不到，直接看答案。]]></description><category></category></item><item><title><![CDATA[Day29|134.加油站、135.分发糖果、860.柠檬水找零、406.根据身高重建队列]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149271915</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149271915</guid><author>LUFFYLLLLL</author><pubDate>Fri, 11 Jul 2025 13:01:33 +0800</pubDate><description><![CDATA[参考暴力解法中：for循环适合模拟从头到尾的遍历，而while循环适合模拟环形遍历，要善于使用while！用取余方法环形遍历太妙了！但还是学习了一种思想：两个维度一起考虑的话，先确定一边然后贪心另一边，两边一起考虑，就会顾此失彼。因为题目保证答案唯一，下列是根据测试集做出来的。只打败5％，所以也不作数吧。然后是参考贪心算法二，这个思路是不可能想出来的了。类似的题不要两边一起比较，要两边分别考虑。终于碰到一题超级简单的了。406.根据身高重建队列。]]></description><category></category></item><item><title><![CDATA[Day28|122.买卖股票的最佳时机 II、55.跳跃游戏、45.跳跃游戏 II、1005.K次取反后最大化的数组和]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149260255</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149260255</guid><author>LUFFYLLLLL</author><pubDate>Thu, 10 Jul 2025 22:46:58 +0800</pubDate><description><![CDATA[这题AC倒是很容易，把数组按大小排序一下就好。参考解法按绝对值排序的方法更好！因为答案好像并没有模拟出跳的过程，所以比较难理解，我这里是模拟出跳跃过程的。一句话总结思路：看两步最远能跳到哪。说实话，这道题简单到有点让人觉得难（不敢相信）。1005.K次取反后最大化的数组和。122.买卖股票的最佳时机 II。45.跳跃游戏 II。]]></description><category></category></item><item><title><![CDATA[Day27|455.分发饼干、376.摆动序列、53.最大子数组和]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149248356</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149248356</guid><author>LUFFYLLLLL</author><pubDate>Thu, 10 Jul 2025 13:48:00 +0800</pubDate><description><![CDATA[这题也不好想，但也是想出来了。做完这三题确实感觉贪心思路主要靠模拟，即使是常识，有时候也不好写。按自己模拟的思路写是写出来了，时间复杂度也是O(n)，运行挺快，但代码看起来比较多。参考解法代码很简洁，但第一次看到还真想不到。]]></description><category></category></item><item><title><![CDATA[Week2|哈希表、字符串、栈与队列]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149218710</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149218710</guid><author>LUFFYLLLLL</author><pubDate>Wed, 09 Jul 2025 10:50:45 +0800</pubDate><description><![CDATA[介绍的栈和队列是SGI STL里面的数据结构（SGI STL由Silicon Graphics Computer Systems公司参照HP STL实现，被Linux的C++编译器GCC所采用，SGI STL是开源软件，源码可读性甚高）。栈的底层实现可以是vector，deque，list 都是可以的，栈和队列默认是以deque为缺省情况下栈的底层结构，可以指定其他。的（也就是说可以控制使用哪种容器来实现栈的功能，所以栈和队列往往不被归类为容器，而被归类为container adapter（]]></description><category></category></item><item><title><![CDATA[Day25|491.非递减子序列、46.全排列、47.全排列 II、332.重新安排行程、51.N 皇后、37.解数独]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149140878</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149140878</guid><author>LUFFYLLLLL</author><pubDate>Sat, 05 Jul 2025 19:10:47 +0800</pubDate><description><![CDATA[就是要树层去重，前面都是用自己的方法去重，这题不行，写的有点卡壳。树层去重，只要允许原数组重排列，都可以先sort再用while来去重。可以把皇后位置的合法性写成一个函数，看起来更清晰。看完讲解之后感受到了回溯之美！回溯到这里也就先告一段落了。491.非递减子序列。332.重新安排行程。]]></description><category></category></item><item><title><![CDATA[Day24|93.复原 IP 地址、78.子集 、90.子集II]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149122645</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149122645</guid><author>LUFFYLLLLL</author><pubDate>Fri, 04 Jul 2025 18:01:45 +0800</pubDate><description><![CDATA[看了卡尔画的树形结构图之后秒了，所以回溯类的题能否画出正确的树形图是能否解出来的关键。但卡哥收集结果的位置还是很巧妙，顺便把空集收了，我是把收集放在回溯前，就会收不到空集。还有这题对用不用写结束条件这点的分析也很精彩。这道题我是创建临时子串然后push进result中，其实可以直接在字符串上操作，加.即可。去重逻辑就用我之前的while方法就可以。93.复原 IP 地址。]]></description><category></category></item><item><title><![CDATA[Day23|39.组合总和、40.组合总和 II、131.分割回文串]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149111828</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149111828</guid><author>LUFFYLLLLL</author><pubDate>Fri, 04 Jul 2025 10:27:50 +0800</pubDate><description><![CDATA[而我解法运行时间这么长是因为：切割起始位置是i，终止位置是位于i后面的j，i和j的移动可以得到不同长度的字串，但是由于在同一层递归上起始位置的不断变化，导致得到的path不一定是从原始字符串起点开始的，所以最终需要判断path里字符子串总长度跟原字符串长度是否一致。起始是index终止才是i，这样就可以实现此功能：在同一层递归函数上，index是不变量，也就是切割的起始位置不变，变的是终止位置，于是可以检查同一起点不同终点的字符子串回文情况。40.组合总和 II。]]></description><category></category></item><item><title><![CDATA[Day22|回溯算法理论基础、77.组合、216.组合总和 III、17.电话号码的字母组合]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149072347</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149072347</guid><author>LUFFYLLLLL</author><pubDate>Wed, 02 Jul 2025 16:14:35 +0800</pubDate><description><![CDATA[第一次看回溯算法，确实似懂非懂的，感觉全看明白了，但又没有那种对知识的掌控感，后面做题看看。如果能把树画出来看着写代码很容易理解。然后这个剪枝操作还是很简单的。216.组合总和 III。看了上一题这题非常简单。17.电话号码的字母组合。]]></description><category></category></item><item><title><![CDATA[Day21|669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149048576</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149048576</guid><author>LUFFYLLLLL</author><pubDate>Tue, 01 Jul 2025 15:55:18 +0800</pubDate><description><![CDATA[一遍过，但是用了额外空间截取数组片段，可以通过操作下标的方式来使空间复杂度为O(1)。这题修修改改也是做出来了，虽然是跟录里的解法一致，但代码还是写复杂了。108.将有序数组转换为二叉搜索树。538.把二叉搜索树转换为累加树。这道题理解题目意思直接秒。669.修剪二叉搜索树。]]></description><category></category></item><item><title><![CDATA[Week1|数组、链表]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149037931</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149037931</guid><author>LUFFYLLLLL</author><pubDate>Tue, 01 Jul 2025 08:35:47 +0800</pubDate><description><![CDATA[所以对于需要操作的节点，可以设置一个指到它前面的指针，比如24.两两交换链表中的节点就很典型，以及上述设置虚拟头节点也正如此意。--------------------分割线--------------------②一些操作只要先在纸上模拟出操作顺序就不难，都是纸老虎。(如插入，删除，移动)的，都加个dummy，只是遍历取点就可以不用加。之前有学过c和python，所以对这部分理论知识其实是知道的。操作当前节点必须要找前一个节点才能操作。等操作，都使用双指针法。是很重要的技巧，很多对。]]></description><category></category></item><item><title><![CDATA[D3/4补一下当时没记录的做题思考过程]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149033502</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149033502</guid><author>LUFFYLLLLL</author><pubDate>Mon, 30 Jun 2025 23:05:09 +0800</pubDate><description><![CDATA[206.反转链表、24.两两交换链表中的节点、19.删除链表的倒数第N个结点。这题第一次看还是有点难度的，主要我看过思路，所以能比较轻易做出来。原理知道了代码就很好写了。只要先在纸上模拟出操作顺序就不难。面试题 02.07. 链表相交。142.环形链表 II。203.移除链表元素。]]></description><category></category></item><item><title><![CDATA[Day20|235.二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149018614</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149018614</guid><author>LUFFYLLLLL</author><pubDate>Mon, 30 Jun 2025 10:59:29 +0800</pubDate><description><![CDATA[这题把所删节点左右不为空的情况做复杂了，其余部分跟录上解法一致。235.二叉搜索树的最近公共祖先。插入到子节点very easy.701.二叉搜索树中的插入操作。450.删除二叉搜索树中的节点。]]></description><category></category></item><item><title><![CDATA[Day18|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236.二叉树的最近公共祖先]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149004570</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149004570</guid><author>LUFFYLLLLL</author><pubDate>Sun, 29 Jun 2025 22:03:20 +0800</pubDate><description><![CDATA[用数组记录所有值秒了。如果要在遍历的过程中进行计算，就要记住前一个节点的值，也就是双指针，领悟一下二叉树遍历上双指针操作，记住怎么写。这道题一定要记住，感觉是很好的题！这题已经想到要用后序遍历，把子树的情况一直向父节点传递。但是代码还是完全没有思路，唉。这道题不开辟新的空间我完全能想到，也会做，但写代码的时候突然给自己整晕了导致费了点时间。530.二叉搜索树的最小绝对差。236.二叉树的最近公共祖先。501.二叉搜索树中的众数。]]></description><category></category></item><item><title><![CDATA[Day17|654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149001978</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/149001978</guid><author>LUFFYLLLLL</author><pubDate>Sun, 29 Jun 2025 19:07:29 +0800</pubDate><description><![CDATA[以下我的想法，完整的构造了一棵二叉树，但是刚开始第二和第三个if里面都忘了return，一定一定要注意。还有，如果直接在传进去的树的基础上改造性能应该更好(视频参考解法)。但有优化空间：不用每次都构造新数组，可以传下标操作下标。一旦找到目标node直接逐层返回结果。700.二叉搜索树中的搜索。忘了中序遍历可以完美验证。98.验证二叉搜索树。]]></description><category></category></item><item><title><![CDATA[Day16|513.找树左下角的值、112.路径总和、106.从中序与后序遍历序列构造二叉树]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/148984321</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/148984321</guid><author>LUFFYLLLLL</author><pubDate>Sat, 28 Jun 2025 23:58:34 +0800</pubDate><description><![CDATA[我代码主要问题就是给所有路径都做了判断，不会剪枝操作。其实只要左子树或者右子树返回了一个true就可以一直return true;向量片段（左闭右开）vector<int> newvec(oldvec.begin() + i, oldvec.begin() + j);做了十几道题了，这是第一道靠自己用递归遍历做出来的题。递归还是一如既往的想不出来，看完讲解自己敲了一遍。106.从中序与后序遍历序列构造二叉树。这道题第一次碰见是真的一点思路都没有。513.找树左下角的值。]]></description><category></category></item><item><title><![CDATA[Day15|110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和、222.完全二叉树的节点个数]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/148975166</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/148975166</guid><author>LUFFYLLLLL</author><pubDate>Sat, 28 Jun 2025 13:20:40 +0800</pubDate><description><![CDATA[递归也能秒，虽然这题很简单。看完视频讲解后自己敲了一遍。222.完全二叉树的节点个数。257.二叉树的所有路径。]]></description><category></category></item><item><title><![CDATA[Day14|226.翻转二叉树、101. 对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/148960345</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/148960345</guid><author>LUFFYLLLLL</author><pubDate>Fri, 27 Jun 2025 20:33:46 +0800</pubDate><description><![CDATA[用了前序递归法，后面的迭代法没看。中序递归法很绕，但一定要弄懂（可以看视频），看明白之后会对递归有一个更深的理解。今天后3题用层序遍历都很好做，但是递归总是很难想出来，递归是真的想不明白，好挫败啊，还得多看多练。自己选择用层序遍历。递归法推荐计算树的高度=树的最大深度。直接用前序递归求深度看不懂啊啊啊。104.二叉树的最大深度。111.二叉树的最小深度。101. 对称二叉树。]]></description><category></category></item><item><title><![CDATA[Day13|二叉树理论基础、二叉树前中后序遍历、二叉树层序遍历]]></title><link>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/148854941</link><guid>https://blog.youkuaiyun.com/LUFFYLLLLL/article/details/148854941</guid><author>LUFFYLLLLL</author><pubDate>Mon, 23 Jun 2025 21:35:18 +0800</pubDate><description><![CDATA[数组存储，下标从左到右、从上到下，如果父节点的数组下标是 i，那么它的左孩子就是 i * 2 + 1，右孩子就是 i * 2 + 2。这几天情绪一直紧绷着，连“感觉”也钝化了，也不知道自己在烦什么。这次先放下，跳过这两个稍微有点难度的，过后一定补上。最底层节点可能没填满，且都集中在最左边，满二叉树属于完全二叉树。参考解法：用了size来记录某层的节点数量，节省一个队列，其他地方基本一致。下面5道题（都看过题目了，没做）没啥新点，会写层遍历方法就能写。前中后，其实指的就是中间节点的遍历顺序。]]></description><category></category></item></channel></rss>