冷湘宇 Coldxiangyu's blog

从头学算法(二、搞算法你必须知道的OJ)


在没接触算法之前,我从没听说过OJ这个缩写,没关系,现在开始认识还来得及。等你真正开始研究算法,你才发现你又进入了一个新的世界。 这个世界,你不关注它的时候,它好像并不存在,而一旦你关注它了,每一个花草都让你叹为观止。 来看看百度百科是怎么说的吧:

OJ是Online Judge系统的简称,用来在线检测程序源代码的正确性。著名的OJ有TYVJ、RQNOJ、URAL等。国内著名的题库有北京大学题库、浙江大学题库、电子科技大学题库、杭州电子科技大学等。国外的题库包括乌拉尔大学、瓦拉杜利德大学题库等。

而作为程序员,你必须知道Leetcode这个OJ,相比起国内各大著名高校的OJ,为什么我更推荐程序员们选择LeetCode OJ呢?原因有两点:

第一,大学OJ上的题目一般都是为ACM选手做准备的,难度大,属于竞技范畴;LeetCode的题相对简单,更为实用,更适合以后从事开发等岗位的程序员们。

第二,LeetCode非常流行,用户的量级几乎要比其他OJ高出将近三到五个级别。大量的活跃用户,将会为我们提供数不清的经验交流和可供参考的GitHub源代码。

刷LeetCode不是为了学会某些牛逼的算法,也不是为了突破某道难题而可能获得的智趣上的快感。学习和练习正确的思考方法,锻炼考虑各种条件的能力,在代码实现前就已经尽可能避免大多数常见错误带来的bug,养成简洁代码的审美习惯。 通过OJ刷题,配合算法的相关书籍进行理解,对算法的学习是很有帮助的,作为一个程序员,不刷几道LeetCode,真的说不过去。

最后LeetCode网址:https://leetcode.com/ 接下来注册开始搞吧! image_1bf90k08d19p01391i8pfvkqhbm.png-65.6kB image_1bf90orko1ccn1opj29j93cc7f13.png-91.4kB

LeetCode刷过一阵子之后,发现很多都是收费的,这就很不友好了。本着方便大家的原则,向大家推荐lintcode,题目相对也很全,支持中、英双语,最重要是免费。


Comments

Content