<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[nuc_ghp的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/nuc_ghp</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; nuc_ghp]]></copyright><item><title><![CDATA[IDEA基础配置及开发基础插件]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/169748160</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/169748160</guid><author>nuc_ghp</author><pubDate>Sun, 01 Nov 2026 22:51:34 +0800</pubDate><description><![CDATA[idea初始化配置]]></description><category></category></item><item><title><![CDATA[LeetCode347.前K个高频元素（hash表+桶排序）]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/149945178</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/149945178</guid><author>nuc_ghp</author><pubDate>Tue, 05 Aug 2025 20:38:01 +0800</pubDate><description><![CDATA[我们统计的时候是按元素统计的，在排序的时候是要按出现次数排，因此要反过来，那就相当于一个key对应的多个value，比方说出现次数2次的有3和5，这两个都是要记录的，这种情况的话桶排序是比较适合的，每个出现次数当作一个桶，一个桶中有多个元素，具体看代码实现。这道题思路很明显，首先我们要统计每个元素出现的次数，然后就可以进行排序，选出前k个元素，但是重点就是怎么去实现。输入: nums = [1,1,1,2,2,3], k = 2。k 的取值范围是 [1, 数组中不相同的元素的个数]]]></description><category></category></item><item><title><![CDATA[LeetCode394.字符串解码]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/149317912</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/149317912</guid><author>nuc_ghp</author><pubDate>Mon, 14 Jul 2025 20:00:00 +0800</pubDate><description><![CDATA[算法使用栈来处理嵌套的括号结构，遇到数字时累积倍数，遇到左括号时保存当前状态到栈中，遇到右括号时弹出栈顶状态进行计算。通过这种方法，可以正确处理嵌套结构并生成解码后的字符串。例如&quot;3[a2[c]]&quot;解码为&quot;accaccacc&quot;。该解法时间复杂度为O(n)，空间复杂度为O(n)]]></description><category></category></item><item><title><![CDATA[LeetCode739.每日温度（单调栈）]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/149308571</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/149308571</guid><author>nuc_ghp</author><pubDate>Sun, 13 Jul 2025 21:02:33 +0800</pubDate><description><![CDATA[题目要求计算每日温度后第一个更高温度出现的天数差。使用单调栈从右向左遍历，维护一个温度递减的栈。对于每个温度，弹出栈中小于当前温度的无效元素，栈顶即为第一个更高温度的索引，计算天数差存入结果数组。若栈空则记为0。该方法通过及时移除无效元素确保高效性，时间复杂度O(n)。]]></description><category></category></item><item><title><![CDATA[LeetCode33.搜索旋转排序数组]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/149104514</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/149104514</guid><author>nuc_ghp</author><pubDate>Fri, 04 Jul 2025 22:00:00 +0800</pubDate><description><![CDATA[题目要求在旋转后的有序数组中查找目标值target，并返回其下标，若不存在则返回-1。该数组由两部分升序数组组成，需设计O(log n)时间复杂度的算法。 解题思路采用二分查找，通过比较中间值mid和数组末尾元素nums[n-1]来确定target所在区间。具体分为三种情况判断right指针的移动方向：当mid在前半段且target位于mid左侧时，或当mid在后半段且target大于数组末尾或小于等于mid时，移动right指针。 代码实现中，通过is_move方法合并处理判断条件，最终返回left指针位]]></description><category></category></item><item><title><![CDATA[LeetCode34.在排序数组中查找元素的第一个和最后一个位置]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/149100686</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/149100686</guid><author>nuc_ghp</author><pubDate>Thu, 03 Jul 2025 19:30:45 +0800</pubDate><description><![CDATA[摘要： 本文提出了一种在有序数组中查找目标值出现范围的二分查找算法。通过修改标准二分查找，找到第一个大于等于目标值的索引作为起始位置，再通过寻找目标值+1的起始位置减1得到结束位置。]]></description><category></category></item><item><title><![CDATA[LeetCode208.实现Trie（前缀树）]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/149006059</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/149006059</guid><author>nuc_ghp</author><pubDate>Sun, 29 Jun 2025 23:49:23 +0800</pubDate><description><![CDATA[本文介绍了Trie树（前缀树）数据结构及其实现。Trie树是一种高效存储和检索字符串的树形结构，适用于自动补全、拼写检查等场景。文章给出了Trie类的三个核心方法：insert插入字符串、search精确查找字符串、startsWith检查前缀。通过Java代码展示了Trie节点的实现（26个子节点数组和结束标记），并详细解释了每个方法的逻辑：insert遍历字符构建节点链并标记结束；search遍历验证完整字符串存在；startsWith只需验证前缀路径存在。代码简洁明了，是处理字符串相关问题的经典模板。]]></description><category></category></item><item><title><![CDATA[LeetCode207.课程表]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/148983919</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/148983919</guid><author>nuc_ghp</author><pubDate>Sat, 28 Jun 2025 23:56:46 +0800</pubDate><description><![CDATA[摘要： 本文探讨了课程选修问题（LeetCode 207题），通过拓扑排序判断课程安排是否合理。核心思路是检测课程依赖图中是否存在环：若存在环则无法完成学习。具体步骤包括构建入度表、邻接表，将入度为0的节点入队，依次处理并减少相邻节点的入度，最终剩余课程数为0则无环。代码示例展示了如何实现这一算法，适用于基础薄弱的学习者理解拓扑排序的应用场景。]]></description><category></category></item><item><title><![CDATA[LeetCode138. 随机链表的复制（hash表新用途）]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/147853700</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/147853700</guid><author>nuc_ghp</author><pubDate>Sat, 10 May 2025 15:25:27 +0800</pubDate><description><![CDATA[深拷贝应该正好由 n 个 全新 节点组成，其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点，并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。给你一个长度为 n 的链表，每个节点包含一个额外增加的随机指针 random ，该指针可以指向链表中的任何节点或空节点。用一个由 n 个节点组成的链表来表示输入/输出中的链表。Node.random 为 null 或指向链表中的节点。]]></description><category></category></item><item><title><![CDATA[LeetCode240. 搜索二维矩阵 II（巧妙转换）]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/147673857</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/147673857</guid><author>nuc_ghp</author><pubDate>Sat, 03 May 2025 18:00:00 +0800</pubDate><description><![CDATA[编写一个高效的算法来搜索m x n矩阵 matrix 中的一个目标值 target。每行的元素从左到右升序排列。每列的元素从上到下升序排列。]]></description><category></category></item><item><title><![CDATA[LeetCode102.二叉树的层序遍历]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/146922613</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/146922613</guid><author>nuc_ghp</author><pubDate>Tue, 01 Apr 2025 20:57:49 +0800</pubDate><description><![CDATA[这个直接看代码更容易理解，也可以手画一个树模拟一下，网格的话同理，就是两个变成四个然后标记遍历过的节点就行。给你二叉树的根节点 root ，返回其节点值的 层序遍历。（即逐层地，从左到右访问所有节点）。]]></description><category></category></item><item><title><![CDATA[LeetCode200. 岛屿数量（dfs深度遍历搜索）]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/146882938</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/146882938</guid><author>nuc_ghp</author><pubDate>Mon, 31 Mar 2025 20:23:55 +0800</pubDate><description><![CDATA[给你一个由 ‘1’（陆地）和 ‘0’（水）组成的的二维网格，请你计算网格中岛屿的数量。岛屿总是被水包围，并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外，你可以假设该网格的四条边均被水包围。输入：grid = [输入：grid = []]></description><category></category></item><item><title><![CDATA[拯救者系列连不上以太网]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/146561263</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/146561263</guid><author>nuc_ghp</author><pubDate>Thu, 27 Mar 2025 15:21:19 +0800</pubDate><description><![CDATA[拯救者无法连接以太网]]></description><category></category></item><item><title><![CDATA[快速排序（随机基准）]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/146417706</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/146417706</guid><author>nuc_ghp</author><pubDate>Fri, 21 Mar 2025 12:11:56 +0800</pubDate><description><![CDATA[快排]]></description><category></category></item><item><title><![CDATA[LeetCode215. 数组中的第K个最大元素]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/146400977</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/146400977</guid><author>nuc_ghp</author><pubDate>Thu, 20 Mar 2025 17:04:18 +0800</pubDate><description><![CDATA[我们可以基于排序的这种思想进行拓展，快速排序的思想是找一个随机值，将小于它的放到左边，大于它的放到右边。本题我们能想到最简单的方法就是直接给数组排序，然后取第第N-k个元素，但题目要求是O(n)的时间复杂度，这是不论哪种排序方法都无法做到的，所以我们肯定要进行优化。在看完官方的解答和评论区后恍然大悟，想着分享一下。请注意，你需要找的是数组排序后的第 k 个最大的元素，而不是第 k 个不同的元素。输入: [3,2,3,1,2,4,5,5,6], k = 4。输入: [3,2,1,5,6,4], k = 2。]]></description><category></category></item><item><title><![CDATA[LeetCode146.LRU 缓存（哈希表+双向链表）]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/146371106</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/146371106</guid><author>nuc_ghp</author><pubDate>Thu, 20 Mar 2025 10:17:50 +0800</pubDate><description><![CDATA[手搓双向链表]]></description><category></category></item><item><title><![CDATA[虚拟机安装windows提示OOBEREGION]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/146376386</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/146376386</guid><author>nuc_ghp</author><pubDate>Wed, 19 Mar 2025 17:43:49 +0800</pubDate><description><![CDATA[在VMware中安装win10一直提示OOBEREGION，在查找后发现在给他的硬件配置时，给他的内核数一定要大于2，我原来是1，搞了很长时间都不行。]]></description><category></category></item><item><title><![CDATA[LeetCode279完全平方数（动态规划）]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/145951329</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/145951329</guid><author>nuc_ghp</author><pubDate>Sun, 02 Mar 2025 20:00:00 +0800</pubDate><description><![CDATA[完全平方数 是一个整数，其值等于另一个整数的平方；换句话说，其值等于一个整数自乘的积。例如，1、4、9 和 16 都是完全平方数，而 3 和 11 不是。给你一个整数 n ，返回 和为 n 的完全平方数的最少数量。代码其实很短，主要就是思路，有不懂的可以留言。解释：12 = 4 + 4 + 4。解释：13 = 4 + 9。]]></description><category></category></item><item><title><![CDATA[LeetCode72编辑距离（动态规划）]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/145950929</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/145950929</guid><author>nuc_ghp</author><pubDate>Sat, 01 Mar 2025 18:04:18 +0800</pubDate><description><![CDATA[给你两个单词 word1 和 word2， 请返回将 word1 转换成 word2 所使用的最少操作数。输入：word1 = “intention”, word2 = “execution”inention -> enention (将 ‘i’ 替换为 ‘e’)enention -> exention (将 ‘n’ 替换为 ‘x’)exention -> exection (将 ‘n’ 替换为 ‘c’)输入：word1 = “horse”, word2 = “ros”]]></description><category></category></item><item><title><![CDATA[LeetCode5最长回文字串]]></title><link>https://blog.youkuaiyun.com/nuc_ghp/article/details/145861141</link><guid>https://blog.youkuaiyun.com/nuc_ghp/article/details/145861141</guid><author>nuc_ghp</author><pubDate>Wed, 26 Feb 2025 20:00:00 +0800</pubDate><description><![CDATA[给你一个字符串 s，找到 s 中最长的回文子串。解释：“aba” 同样是符合题意的答案。输入：s = “babad”输入：s = “cbbd”s 仅由数字和英文字母组成。大家有问题的话可以留言。]]></description><category></category></item></channel></rss>