大家好,我是小 G。
如果你是计算机科班出身,那么 C 语言,估计是你在初入编程时,最早接触的编程语言之一。
作为一款老牌编程语言,在历经 40 多年的发展之后,C 语言依然经久不衰,足以见得它的魅力所在。
虽然在学习 C 语言的早期过程中,开发一个完整项目时间周期会比较长,并且,C 语言几乎没有语法糖,没有类。
我们需要跟建造房子一样,先打好地基,搭好架构,再一步步往上浇灌楼层。
整个流程,令人痛苦万分。
但是,当你成功跨过各种障碍,跑通程序之后,会不知不觉发现自己的编程能力又精进了不少。
讲真,用 C 语言来实现程序开发,其实挺考验个人编程能力的。
几天前,我偶然在 GitHub 发现一个基于纯 C 语言实现的 LeetCode 题解仓库。
当时分享出来的时候,水友们的反应是这样的...
不过,这个项目早在很久以前,便在 GitHub 开源了。
代码仓库里面共有 200 多道 LeetCode 题目的代码实现,里面涵盖了链表、队列、堆栈、递归、动态规划、二叉搜索树等知识点。
如果你想通过 C 语言来刷 LeetCode,那么这个项目会非常值得你参考学习。
GitHub:https://github.com/begeekmyfriend/leetcode
看到这里,有人可能会问,GitHub 上除了 C 语言,还有没有其它编程语言的 LeetCode 代码实现呢?
答案是有的,并且还不少。
下面,我列举几个比较有名的 LeetCode 代码实现,跟大家简单分享一下。
该仓库作为 LeetCode 题解库的鼻祖,由左耳朵耗子于 2014 年创建,算是 GitHub 上创建最早的 LeetCode 题解库,同时也是现在 Star 数最高的一个。
该项目主要实现了 C++ 的 LeetCode 题解,非常适合广大程序员查看。
GitHub:https://github.com/haoel/leetcode
项目作者 QiYuan Gong 是东南大学的博士生,现为英特尔公司的深度学习工程师,由于受到左耳朵耗子 C++ 题解库的启发,在 GitHub 上创建了这个以 Python 与 Java 为主的题解库。
现在身边不少搞算法的朋友,都以 Python 作为首选的编程语言,相信这个库你们一定会喜欢。
GitHub:https://github.com/qiyuangong/leetcode
项目作者故胤道长毕业于卡内基梅隆大学,先后就职于 Uber、Amazon 等公司,现在 Quora 担任 iOS 工程师,同时也是 GitHub 全美前 20 名的 Swift 开源作者之一。
道长在 2016 年的时候创建了该库,并于微博进行推广后开始广为人知,后续不少开发者加入了项目维护,使得更新也较为频繁。
该仓库按照数据结构与公司对 LeetCode 进行了分类,使其目录结构看起来更加清晰。目前收纳的有 Google、Facebook、Snapchat 等多家公司的 LeetCode 题解。
GitHub:https://github.com/soapyigu/LeetCode-Swift
几年前,国内某个视频分享网站的代码泄露,也让 Go 语言成功火出圈。
因此,这里也为大家献上一个基于 Go 语言实现的题解库,希望你在阅读某个项目源码的时候,别忘了多学点算法。
GitHub:https://github.com/aQuaYi/LeetCode-in-Go
JavaScript,作为历年来在多个编程语言榜单排名稳居前三的万金油,通过它来完成 LeetCode 题解,自然也是个不错的选择。
不过,GitHub 上于此相关的项目并不多见,我挖掘了一下,也就找到一个曾就职于百度、腾讯、字节跳动的工程师写的一个项目。
打开之后,却惊奇发现该项目颇为完善,里面总共包含了一千多道 LeetCode 题解。
作者如果能抽出时间,把项目 README 完善一下,估计 Star 数会上涨不少。
GitHub:https://github.com/everthis/leetcode-js
以上,就是本期内容的分享,觉得对你有所帮助的,也可以分享给身边正在疯狂刷 LeetCod 的朋友看下。
我们下期再见。