技术学习周报:探索回文串分割的精妙之处
2023-09-26 19:51:22
引言
踏入 2021 年的第 10 周,技术学习之旅不断深入。本周的焦点聚焦于回文串分割,一个看似简单却蕴含无穷奥秘的算法挑战。从解构回文串的本质,到探索不同的分割策略,让我们踏上这段激动人心的知识探险。
周日打卡:分割回文串 I
回文串的分割,如同对语言的雕琢,将一个完整的字符串切分成多个回文子串。我们的任务是找到一种方法,将给定的字符串分割成尽可能少的回文子串。
本周的第一个挑战,便是解决 LeetCode 的第 131 道题:分割回文串 I 。这是一道难度为中等的问题,要求我们判断给定的字符串是否可以被分割成一个或多个回文子串。
周一打卡:分割回文串 II
探索的深度还在继续。LeetCode 的第 132 道题:分割回文串 II ,将难度提升至困难级别。这次的任务,是找到将给定的字符串分割成回文子串的最小分割数。
这道题考验着我们对回文串分割算法的深刻理解,需要我们制定巧妙的策略,在效率和分割次数之间取得平衡。
周二打卡:删除字符串中的所有相邻重复项
回文串分割的余韵还未散去,LeetCode 的第 1047 道题:删除字符串中的所有相邻重复项 ,却提出了一个看似不同的问题。它要求我们删除字符串中所有相邻的重复字符,得到一个不包含相邻重复字符的新字符串。
尽管表面上与回文串分割无关,但本题却暗藏着回文串分割的影子。通过巧妙的转换,我们可以将删除相邻重复字符的问题转化为回文串分割问题,从而轻松解决它。
周三打卡:基本计算器 I
从回文串分割的深海中浮出水面,我们来到了 LeetCode 的第 224 道题:基本计算器 I 。这是一道难度为困难的问题,要求我们计算一个包含加法和减法运算符的基本算术表达式。
本题是对我们算术运算基础的考验,需要我们熟练运用栈数据结构,将表达式分步计算,最终得到正确的结果。
周四打卡:基本计算器 II
数学的探索仍在继续。LeetCode 的第 227 道题:基本计算器 II ,将运算符扩展到乘法和除法,进一步提升了计算的难度。
这道题考验着我们对运算符优先级的理解,需要我们根据乘除法优先级和括号规则,准确计算表达式的值。
本周总结
本周的学习之旅,以回文串分割为导引,带我们深入探索了算法、数学和数据结构的奥妙。我们从判断回文串分割的可能性,到寻找最优分割策略,再到将回文串分割思想应用于其他问题,每一步都拓宽着我们的思维边界。
技术学习的道路上,没有捷径可走,只有不断探索、钻研、实践,才能真正掌握知识的精髓。让我们怀揣着对知识的渴望,继续前行,让技术之光照亮我们的征程!