两个月的算法训练营之旅圆满落幕,回首这段时光,我深感自己错过了许多早日成长的机会,如今不禁懊悔没有更早地报名参与。
这段充实的日子里,我遵循着训练营精心设计的计划,攻克了上百道力扣题目。从最初对编程语法的生疏,到逐渐能够不依赖题解,独立形成解题思路,我切实地感受到了自己在算法领域的成长与蜕变。代码随想录的题目编排匠心独运,从简单到复杂,循序渐进,让我在不知不觉中轻松踏入了算法世界的大门。其中,回溯篇给我留下了尤为深刻的印象。回溯法将问题抽象为树形结构,这种思维方式对我而言是全新的,让我对回溯原理有了更深刻的理解,也解决了过去对递归代码难以捉摸的困惑。
在学习回溯之前,我深刻体会到对树遍历的熟悉是必不可少的,而代码随想录正是按照这样的逻辑顺序来安排的。因此,我衷心建议准备刷题的同学们,一定要按照教程的顺序逐步深入,这样才能最大化地收获知识。
在运用回溯法时,我逐渐领悟到递归三部曲的重要性:首先明确返回值和参数的类型,接着确定递归的结束条件,最后梳理清楚单层递归的逻辑。起初,我并未给予这三步足够的重视,认为只要有个大致的思路就可以,但在实际操作中,我却频频遭遇bug的困扰。正是这些挫折让我意识到,遵循三部曲能够使我的代码更加严谨、思路更加清晰。
在动态规划的学习中,我深刻体会到画表的重要性。很多时候,单纯的递推公式难以让我理解透彻,但当我拿起笔在草稿纸上画出表格,做好初始化,按照递推公式逐步填表时,那些原本难以捉摸的概念突然变得清晰起来。
面对难题时,我曾感到烦躁和沮丧,尤其是在独自刷题时,我甚至有过放弃的念头。但加入训练营后,看到身边的伙伴们仍在坚持,我便告诉自己不能轻言放弃。正是这样的坚持,让我跨越了一个又一个难关,对算法的理解也愈发深刻。
如今,虽然算法训练营已经告一段落,但我的刷题之路仍在继续。感谢代码随想录提供的免费教程,为我打下了坚实的算法基础。未来,我将继续探索这个充满挑战与乐趣的领域,期待自己在算法的道路上走得更远、更稳。