<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[destiny_tool的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/destiny_tool</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; destiny_tool]]></copyright><item><title><![CDATA[数据结构算法之链表篇-反转字符串II]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/156993751</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/156993751</guid><author>destiny_tool</author><pubDate>Thu, 15 Jan 2026 21:36:21 +0800</pubDate><description><![CDATA[本文介绍了如何利用双指针技巧解决字符串分段反转问题。题目要求每2k字符反转前k个字符，剩余不足k个时全部反转。解决方案是将字符串转为字符数组，以2k为步长遍历，每次反转前k个字符，使用Math.min处理边界条件。时间复杂度O(n)，空间复杂度O(1)。核心技巧在于巧妙利用循环步长控制分段处理，避免复杂条件判断，体现了基础算法思想的灵活应用。]]></description><category></category></item><item><title><![CDATA[数据结构算法之字符串篇--反转字符串]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/156948204</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/156948204</guid><author>destiny_tool</author><pubDate>Thu, 15 Jan 2026 21:09:34 +0800</pubDate><description><![CDATA[本文介绍了反转字符串的经典算法题，要求原地修改字符数组且空间复杂度为O(1)。核心解法是双指针法：设置头尾指针，依次交换对应元素并向中间移动，直到相遇。该方法时间复杂度为O(n)，仅使用常数级额外空间。文章对比了字符串反转与链表反转的区别，并强调在实际工程中代码可读性优于位运算等技巧性写法。解题思路清晰，适用于所有ASCII可打印字符组成的字符串。]]></description><category></category></item><item><title><![CDATA[Git基本使用命令简略版]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/155753394</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/155753394</guid><author>destiny_tool</author><pubDate>Tue, 09 Dec 2025 21:35:47 +0800</pubDate><description><![CDATA[本文详细介绍了Git版本控制系统的配置与使用流程。主要内容包括：1）前期准备，包括Git安装、全局用户配置和SSH密钥设置；2）本地仓库初始化步骤，从创建.gitignore文件到首次提交；3）关联Gitee和GitHub远程仓库并推送代码的方法；4）日常开发中的同步推送流程；5）关键补充说明，如查看远程仓库、分支管理和常见问题解决。文章提供了完整的Git操作指南，帮助开发者实现代码的本地管理和远程同步。]]></description><category></category></item><item><title><![CDATA[数据结构算法-哈希表：四数之和]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/154917294</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/154917294</guid><author>destiny_tool</author><pubDate>Sun, 16 Nov 2025 21:07:23 +0800</pubDate><description><![CDATA[摘要： 本文解析LeetCode四数之和问题，要求从数组中找出所有和为target且不重复的四元组。核心思路包括：1）排序数组以便双指针调整和去重；2）双层循环固定前两数，结合剪枝优化（提前终止无效搜索）和去重逻辑；3）双指针查找后两数，通过比较总和动态调整指针位置。代码实现中注意处理整数溢出和重复元素，确保结果唯一性。算法时间复杂度为O(n³)，适用于中等规模数据。]]></description><category></category></item><item><title><![CDATA[数据结构算法-哈希表：三数之和]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/154661140</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/154661140</guid><author>destiny_tool</author><pubDate>Sun, 16 Nov 2025 20:58:20 +0800</pubDate><description><![CDATA[不信的同学可以去尝试用哈希表做一下，就知道难度了，有点类似大一的时候写的，找出数组中两两不相同的数的组合，不过这里是找不同数组的组合。给你一个包含 n 个整数的数组 nums，判断 nums 中是否存在三个元素 a，b，c ，个人总结学习用，对部分内容进行了简单的处理和归纳，如有谬误，希望大家指出，先说结论：梦破碎的地方！请你找出所有满足条件且不重复的三元组。先对数组排序（关键前提）。用一层 for 循环遍历数组，固定。答案中不可以包含重复的三元组。在数组中找到所有不重复的三元组。重复导致三元组重复）。]]></description><category></category></item><item><title><![CDATA[数据结构算法：哈希表-赎金信]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/154617682</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/154617682</guid><author>destiny_tool</author><pubDate>Mon, 10 Nov 2025 18:57:07 +0800</pubDate><description><![CDATA[383. 赎金信 - 力扣（LeetCode）给你两个字符串：ransomNote和 magazine，判断 ransomNote能不能由 magazine里面的字符构成。如果可以，返回true；否则返回false。magazineransomNote赎金信中的两个字符串  ransomNote与 magazine。]]></description><category></category></item><item><title><![CDATA[数据结构算法-哈希表：四数相加II]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/154604563</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/154604563</guid><author>destiny_tool</author><pubDate>Sun, 09 Nov 2025 15:04:30 +0800</pubDate><description><![CDATA[摘要：本文介绍了LeetCode 454题&quot;四数相加II&quot;的解题方法。给定四个整数数组A、B、C、D，找出满足A[i]+B[j]+C[k]+D[l]=0的元组数量。核心思路是采用分组+哈希表策略：先将A+B的和存入哈希表（和为键，出现次数为值），然后计算C+D的和，在哈希表中查找对应的相反数。这种方法利用空间换时间，将O(n⁴)复杂度优化为O(n²)。文中提供了Java代码实现，包含详细注释，并给出测试用例验证。该方法适用于数组长度≤500的情况，整数范围在-2²⁸到2²⁸-1之间。]]></description><category></category></item><item><title><![CDATA[数据结构算法-哈希表：两数之和]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/154480921</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/154480921</guid><author>destiny_tool</author><pubDate>Thu, 06 Nov 2025 21:14:42 +0800</pubDate><description><![CDATA[力扣题目链接。]]></description><category></category></item><item><title><![CDATA[高频面试题：数据结构哈希表-快乐数]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/154302165</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/154302165</guid><author>destiny_tool</author><pubDate>Sun, 02 Nov 2025 20:28:15 +0800</pubDate><description><![CDATA[若平方和重复出现，说明进入闭环，永远无法得到 1，即非快乐数。利用哈希表（HashSet）快速判断元素是否存在的特性，存储已出现的平方和，实现循环检测。个人总结学习用，对部分内容进行了简单的处理和归纳，如有谬误，希望大家指出，]]></description><category></category></item><item><title><![CDATA[数据结构算法之哈希表：两个数组的交集]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/154233868</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/154233868</guid><author>destiny_tool</author><pubDate>Sat, 01 Nov 2025 20:23:01 +0800</pubDate><description><![CDATA[先明确概念：两个数组的交集，指的是同时存在于两个数组中的元素。比如数组[2,3,6]和[4,6,9]，它们的交集就是[6]。需要注意的是，交集是否需要去重？这取决于具体场景。比如原数组有重复元素时（如[2,2,3]和[2,2,2]），是保留所有重复的2还是只保留一个？下面的方法会根据实现逻辑自然处理这一点，我们后面具体说。]]></description><category></category></item><item><title><![CDATA[数据结构之哈希表-有效的字母异位词]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/154120024</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/154120024</guid><author>destiny_tool</author><pubDate>Thu, 30 Oct 2025 11:37:18 +0800</pubDate><description><![CDATA[摘要：本文探讨了如何判断两个字符串是否为字母异位词的问题。通过分析暴力解法（时间复杂度O(n²)）的不足，提出基于数组的哈希表优化方案（时间复杂度O(n)）。具体方法是使用长度为26的数组记录字符出现次数：先统计字符串s中各字符频次，再遍历字符串t进行抵消。若最终数组全为0则判定为异位词。代码实现中通过检查长度差异和负值情况提前终止计算，提升效率。该方法适用于仅含小写字母的字符串，具有空间复杂度O(1)的优势。文末附参考文献及代码实现示例。]]></description><category></category></item><item><title><![CDATA[数据结构算法之链表篇---环形链表II]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/154030804</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/154030804</guid><author>destiny_tool</author><pubDate>Thu, 30 Oct 2025 11:24:05 +0800</pubDate><description><![CDATA[本文介绍了力扣环形链表II问题的解法。使用快慢指针法判断链表是否有环：快指针每次移动2节点，慢指针每次移动1节点，若有环最终会相遇。找到环入口的方法是在确认有环后，将相遇点和头结点分别作为新指针起点，两者同步移动直到相遇即为入口。该方法时间复杂度O(n)，空间复杂度O(1)。文中还给出了递归实现两两交换链表节点的代码示例，通过递归处理后续子链表并重新连接节点完成交换。最后列出了相关参考资料。]]></description><category></category></item><item><title><![CDATA[数据结构算法之链表篇：删除链表的倒数第N个节点]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/153790374</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/153790374</guid><author>destiny_tool</author><pubDate>Fri, 24 Oct 2025 21:00:57 +0800</pubDate><description><![CDATA[否则删除头结点时会出现null指针异常，比如链表只有一个节点[1]，删除倒数第1个节点，没有虚拟头结点的话slow初始指向1，删除后无法处理。：如果只移动n步，slow会指向删除节点本身，而链表删除需要前驱节点，所以必须多移1步（n+1）。让fast和slow保持n个节点间距，同时移动至fast到链表末尾，slow即指向倒数第n个节点。此时状态：dummy→1→2→3→4→5→null，fast和slow都停在dummy位置。移动后状态：fast指向5，slow指向3（刚好是删除节点4的上一个节点）。]]></description><category></category></item><item><title><![CDATA[数据结构算法之链表篇：两两交换链表中的元素的实现]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/153700137</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/153700137</guid><author>destiny_tool</author><pubDate>Tue, 21 Oct 2025 20:40:20 +0800</pubDate><description><![CDATA[个人总结学习用，对部分内容进行了简单的处理和归纳，如有谬误，希望大家指出，力扣题目链接(opens new window)]]></description><category></category></item><item><title><![CDATA[数据结构算法之链表篇-反转链表的原理及代码实现]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/153582487</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/153582487</guid><author>destiny_tool</author><pubDate>Mon, 20 Oct 2025 21:06:13 +0800</pubDate><description><![CDATA[原来节点 5 的next指向null□ □ □ □ □next:2 next:1 next:2 next:3 next:4 （节点5的next从null→4）]]></description><category></category></item><item><title><![CDATA[ 数据结构算法之链表篇-设计链表的原理及代码实现]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/153530791</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/153530791</guid><author>destiny_tool</author><pubDate>Sun, 19 Oct 2025 19:17:44 +0800</pubDate><description><![CDATA[力扣题目链接。]]></description><category></category></item><item><title><![CDATA[数据结构之链表篇-链表移除元素的原理及代码实现]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/153407180</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/153407180</guid><author>destiny_tool</author><pubDate>Fri, 17 Oct 2025 11:30:50 +0800</pubDate><description><![CDATA[力扣题目链接题意：删除链表中等于给定值 val 的所有节点。示例 1： 输入：head = [1,2,6,3,4,5,6], val = 6 输出：[1,2,3,4,5]示例 2： 输入：head = [], val = 1 输出：[]示例 3： 输入：head = [7,7,7,7], val = 7 输出：[]]]></description><category></category></item><item><title><![CDATA[算法刷题-数组篇之螺旋矩阵II（超简单）]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/153210048</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/153210048</guid><author>destiny_tool</author><pubDate>Tue, 14 Oct 2025 21:24:37 +0800</pubDate><description><![CDATA[力扣题目链接给定一个正整数 n，生成一个包含 1 到 n^2 所有元素，且元素按顺时针顺序螺旋排列的正方形矩阵。示例:输入: 3 输出: [ [ 1, 2, 3 ],]]></description><category></category></item><item><title><![CDATA[算法刷题-数组篇之长度最小的子数组]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/153121988</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/153121988</guid><author>destiny_tool</author><pubDate>Sun, 12 Oct 2025 17:34:40 +0800</pubDate><description><![CDATA[力扣题目链接。]]></description><category></category></item><item><title><![CDATA[算法刷题-数组篇之有序数组的平方]]></title><link>https://blog.youkuaiyun.com/destiny_tool/article/details/153118332</link><guid>https://blog.youkuaiyun.com/destiny_tool/article/details/153118332</guid><author>destiny_tool</author><pubDate>Sun, 12 Oct 2025 15:01:58 +0800</pubDate><description><![CDATA[力扣题目链接。]]></description><category></category></item></channel></rss>