<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[AffectionGF的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/AffectionGF</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; AffectionGF]]></copyright><item><title><![CDATA[阿里巴巴Java开发手册（最新最全）]]></title><link>https://blog.youkuaiyun.com/AffectionGF/article/details/148396715</link><guid>https://blog.youkuaiyun.com/AffectionGF/article/details/148396715</guid><author>AffectionGF</author><pubDate>Tue, 03 Jun 2025 11:16:43 +0800</pubDate><description><![CDATA[阿里巴巴Java开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结，经历了多次大规模一线实战的检验及不断的完善，系统化地整理成册，回馈给广大开发者。现代软件行业的高速发展对开发者的综合素质要求越来越高，因为不仅是编程知识点，其它维度的知识点也会影响到软件的最终交付质量。比如：数据库的表结构和索引设计缺陷可能带来软件上的架构缺陷或性能风险；工程结构混乱导致后续维护艰难；没有鉴权的漏洞代码易被黑客攻击等等。]]></description><category></category></item><item><title><![CDATA[数据库表的连接方式（超详细讲解）]]></title><link>https://blog.youkuaiyun.com/AffectionGF/article/details/148394631</link><guid>https://blog.youkuaiyun.com/AffectionGF/article/details/148394631</guid><author>AffectionGF</author><pubDate>Tue, 03 Jun 2025 09:31:35 +0800</pubDate><description><![CDATA[SQL连接操作详解：LEFT JOIN会返回左表所有记录及右表匹配记录（不匹配则显示NULL），常用于保留左表完整数据。其他主要连接方式包括：INNER JOIN（仅返回匹配记录）、RIGHT JOIN（返回右表所有记录）、FULL OUTER JOIN（返回两表所有记录）、CROSS JOIN（笛卡尔积）和SELF JOIN（表自连接）。通过学生和课程表的实例演示了每种连接的具体应用场景和输出结果，展示了不同连接类型的核心区别和适用情况。这些连接操作是SQL中实现多表查询的关键技术。]]></description><category></category></item><item><title><![CDATA[力扣1502. 判断能否形成等差数列（Array数组详解）]]></title><link>https://blog.youkuaiyun.com/AffectionGF/article/details/148339129</link><guid>https://blog.youkuaiyun.com/AffectionGF/article/details/148339129</guid><author>AffectionGF</author><pubDate>Fri, 30 May 2025 15:46:02 +0800</pubDate><description><![CDATA[摘要：本文讲解了判断数组能否形成等差数列的算法问题（LeetCode 1502题）。解决方法是先将数组排序，然后检查相邻元素的差值是否一致。文章还详细介绍了Java中Arrays工具类的常用方法，包括排序(sort)、搜索(binarySearch)、复制(copyOf)、填充(fill)等操作，并提供了各类方法的代码示例。特别说明了如何对数组进行升序/降序排序，以及如何处理多维数组。这些方法为处理数组相关问题提供了实用工具。
]]></description><category></category></item><item><title><![CDATA[力扣1822. 数组元素积的符号]]></title><link>https://blog.youkuaiyun.com/AffectionGF/article/details/148337596</link><guid>https://blog.youkuaiyun.com/AffectionGF/article/details/148337596</guid><author>AffectionGF</author><pubDate>Fri, 30 May 2025 14:32:03 +0800</pubDate><description><![CDATA[这道题目要求计算数组中所有元素乘积的符号。关键点在于乘积的正负只取决于数组中负数的个数（偶数为正，奇数为负），以及是否包含零（直接返回0）。因此，无需实际计算乘积，只需遍历数组统计负数个数并检查是否有零即可。算法时间复杂度为O(n)，空间复杂度为O(1)。示例解法使用乘积变量初始为1，遇到负数时反转符号，遇到零立即返回0。这避免了可能的大数乘积计算，是一种高效且正确的解决方案。]]></description><category></category></item><item><title><![CDATA[力扣66. 加一]]></title><link>https://blog.youkuaiyun.com/AffectionGF/article/details/148319425</link><guid>https://blog.youkuaiyun.com/AffectionGF/article/details/148319425</guid><author>AffectionGF</author><pubDate>Fri, 30 May 2025 14:01:55 +0800</pubDate><description><![CDATA[摘要：本文介绍了LeetCode上"加一"问题的两种解法。方法一采用暴力破解思路，通过将数组转换为整数（使用BigInteger防溢出）、加一后再转回数组，适用于数字位数较少的情况。方法二更高效，通过逆序遍历处理后缀9：若末尾非9则直接加一；若有连续9则将其置零并在第一个非9位加一；全为9时返回首位1的新数组。两种方法均能正确处理各种边界情况，方法二避免了类型转换，性能更优。文末还提供了Java中BigInteger类的常用方法说明。
]]></description><category></category></item><item><title><![CDATA[力扣283. 移动零]]></title><link>https://blog.youkuaiyun.com/AffectionGF/article/details/148309487</link><guid>https://blog.youkuaiyun.com/AffectionGF/article/details/148309487</guid><author>AffectionGF</author><pubDate>Thu, 29 May 2025 14:31:26 +0800</pubDate><description><![CDATA[本文详细介绍了两种Java解法来实现"移动零"问题。方法一采用双指针技术，通过左右指针交换元素，保证非零元素顺序并将零移至数组末尾，时间复杂度为O(n)。方法二通过计数器统计零的数量，先存储非零元素再补零，同样实现原位操作。文章还附带讲解了增强for循环的语法和使用场景，包括遍历数组、集合的示例代码。两种解法均满足题目要求的原地操作条件，其中双指针解法更为高效，适合深入学习算法思维。]]></description><category></category></item><item><title><![CDATA[力扣459. 重复的子字符串]]></title><link>https://blog.youkuaiyun.com/AffectionGF/article/details/148305506</link><guid>https://blog.youkuaiyun.com/AffectionGF/article/details/148305506</guid><author>AffectionGF</author><pubDate>Thu, 29 May 2025 11:27:52 +0800</pubDate><description><![CDATA[本文解析力扣459题"重复的子字符串"的两种Java解法。方法一采用枚举法，通过遍历可能的子串长度，检查字符串能否由子串重复构成，时间复杂度为O(n²)。方法二利用字符串拼接检测，将子串拼接到原字符串后截取比较，效率更高。文章详细说明了两种解法的实现思路、关键代码和执行流程，并提供了示例分析。最后介绍了Java字符串处理的核心方法substring()的使用要点，帮助读者深入理解字符串匹配问题。]]></description><category></category></item><item><title><![CDATA[力扣242. 有效的字母异位词]]></title><link>https://blog.youkuaiyun.com/AffectionGF/article/details/148289382</link><guid>https://blog.youkuaiyun.com/AffectionGF/article/details/148289382</guid><author>AffectionGF</author><pubDate>Wed, 28 May 2025 20:18:55 +0800</pubDate><description><![CDATA[本文探讨了判断两个字符串是否为字母异位词的几种方法。首先分析了异或法的局限性，指出该方法可能在特殊字符组合时产生误判。然后介绍了更可靠的排序比较法，通过将字符串转为字符数组排序后比较。针对进阶问题中的Unicode字符处理，指出toCharArray()方法会对补充字符（如emoji）产生错误拆分，推荐使用codePoints()方法进行安全排序。总结建议：普通字符处理可用toCharArray()，但涉及特殊符号或国际化时应采用codePoints()方法以确保正确性。]]></description><category></category></item><item><title><![CDATA[力扣28. 找出字符串中第一个匹配项的下标（暴力手撕+KMP算法）]]></title><link>https://blog.youkuaiyun.com/AffectionGF/article/details/148285331</link><guid>https://blog.youkuaiyun.com/AffectionGF/article/details/148285331</guid><author>AffectionGF</author><pubDate>Wed, 28 May 2025 17:42:58 +0800</pubDate><description><![CDATA[来源。]]></description><category></category></item><item><title><![CDATA[力扣389.找不同]]></title><link>https://blog.youkuaiyun.com/AffectionGF/article/details/148280955</link><guid>https://blog.youkuaiyun.com/AffectionGF/article/details/148280955</guid><author>AffectionGF</author><pubDate>Wed, 28 May 2025 13:06:50 +0800</pubDate><description><![CDATA[通过上述过程，我们可以看到，尽管t是通过对s进行重排得到的，但由于t中多出一个字符'g'，在异或运算的过程中，所有相同的字符都会被抵消，最终的结果就是多出的字符'g'。]]></description><category></category></item><item><title><![CDATA[力扣1768.交替合并字符串]]></title><link>https://blog.youkuaiyun.com/AffectionGF/article/details/148279021</link><guid>https://blog.youkuaiyun.com/AffectionGF/article/details/148279021</guid><author>AffectionGF</author><pubDate>Wed, 28 May 2025 10:48:35 +0800</pubDate><description><![CDATA[从0-1提高Java代码编程能力，本文描述了一个字符串交替合并算法：给定两个字符串word1和word2，从word1开始交替取字符进行合并。若一个字符串更长，剩余字符直接追加到结果末尾。例如"abc"和"pqr"合并为"apbqcr"。算法需要处理不同长度字符串的情况，示例展示了三种典型场景。输入字符串长度限制在1到100之间，且均为小写字母组成。该问题考察字符串处理的遍历和拼接能力。]]></description><category></category></item></channel></rss>