稀有猿诉

十年磨一剑,历炼出锋芒,说话千百句,不如码二行。

Interview Algorithm and LeetCode

这个是面试的必备技能,而且特别是外企和一线大厂都很喜欢问算法题目,所以这也是一个必须跨跃的门槛。

这东西与当年ACM/ICPC以及中学的信息技术竞赛是同一套东西,核心就是算法和数据结构,目的就是训练逻辑思维能力,建模的能力和问题分析与解决的能力,当然 对于提升解决问题的能力还是很有帮助的。

很惭愧,当年没有学好(ACM/ICPC 2008年亚洲区域赛合肥赛区只拿到优胜奖 Honorable Mention),现在是时候好好补习一下了。

优质书籍

核心的书籍就是算法和数据结构,市面上书籍甚多,比较优质的有如下

基石

数据结构与算法是基础中的基础。

以面试题为主线的书

另外,还有一套书是以面试题为主线,辅助以介绍基础知识的书,非常之实用。

数据结构和算法可视化

这本身就是一个研究领域。但对于理解各种算法是非常有帮助的。

LeetCode

现在最火的就是刷题,就是在LeetCode(力扣)上面刷题,网上各种攻略以及题解都非常之多。

另外,在GitHub上面,也有大量的优质的LeetCode资源:

力扣与ACM OJ最大的区别就是在于它对编程语言支持丰富,并且并不限制你使用标准库,比如C++可以用STL,比如Java可以用Collections,除非题目中有特别的限制,这个需要注意,就是在解题的时候思维不能受到局限,比如查询相关的题目,首先能想到的就是Map,但一般在ACM OJ时,通常不会往Map上想,因为是不允许使用现成的库的(起码当年我训练的时候是这样的),但LeetCode上面并没有这样的限制(其实这很符合实际项目),所以思维要打开,另外就是可以多多尝试,有没有限制试过后就知道了。

更多的练习题

力扣是以面试为核心,它上面的题集都集中在面试,特别是大厂和外企的常见面试题目。

之外,就是各种OJ了,这是各种信息竞赛算法竞赛和ACM的训练基地,题目也更广泛,难度也相当的高。

参考资料

Comments