只要不是特别忙或者特别不方便,最近一直保持着每天做几道算法题的规律,到后来随着难度的增加,每天做的题目越来越少。我的初衷就是练习,因为一方面我本身算法基础并不好,再一方面是因为工作以后传统意义上所谓算法的东西接触还是太少。为了题目查找方便起见,我把之前几篇陆陆续续贴出来的我对LeetCode上面算法题的解答汇总在下面,CTRL+F就可以比较方便地找到。一共154道题,这个数量大概是两个月前的数量,现在其实题目的数目已经超过这个数了,当然,我没有继续更新。下面表格里面的Acceptance和Difficulty的Easy/Medium/Hard的分类都是来自LeetCode上面的数据,而Difficulty括号里面的数值和Frequency则来自 这个文档 。
总体来说,做LeetCode的题目收获还是很大的。而这种可以很快获得代码正确性和性能即使的反馈的方式,对算法提高也是很有帮助的。有的题目困难,主要包括两方面的原因,有的是思路比较怪异,用常规思路去解题往往时间复杂度或者空间复杂度过高,还有的则是需要考虑的情况比较复杂,case众多,很容易遗漏。