如何更好地学习和练习Leetcode
如何更好地学习和练习Leetcode
写在前面的话
无论你是为了面试还是为了提升自己的编程水平,你都应该好好学习Leetcode 算法。
为什么呢?
不知你们有没有发现,其实不止BAT 等知名大厂,其他各大中小企业也已慢慢地已不再满足仅仅功能的实现,而是如何更高效,更高可用。
- 就好比同样计算1+1+1+1+1 等于多少,在以前我们用加法算对就行。现在可不行,你得会用乘法。
- 你说同样一部分业务数据,为什么数组比链表查询速度更快?不知道答案的看我的另外一篇博文。
再扯远点,我们知道,以前服务器资源都很贵,算是稀缺资源,企业买服务器都尽可能节省成本,因此单体架构盛行,只要产品能用,好看就行,服务器资源都是能省则省。
如今则不一样,如今的服务器资源几乎可以说是过剩的,企业不再怕花钱,不怕多搞服务器,只要能提高性能和高可用,能提供更好的服务,就有钱挣,那就没问题,所以你们应该也能感受到,今年应该是微服务架构开发最火的一年,各大中小企业需求量也很大。
PS: 随着Serverless的慢慢普及,程序员面向云服务开发日子应该也不远了。
另一方面,如今互联网行业发展了这么多年,各种产品需求几近饱和,企业的红利已经不多了,这才需要发展5G ,用更快的速度带动更多的创业机会。
另外, Leetcode 对于升级高级程序员段位来说变得也愈加重要。
算法,我认为它之所以如此重要在于两点:
- 第一:可以提升我们解决问题的思路
- 第二:可以更加高效灵活使用Java数据结构
好了扯完了,下面推荐下我的开源项目,教你如何更好地学习和练习Leetcode算法。
开始之前分享下我的学习心法:
- 算法入门心法第一层:不会写,就先多看。
- 算法入门心法第二层:看完了就背诵默写答案。
- 算法入门心法第三层:然后开始尝试理解和感悟题解的思想和解法规律
- 算法入门心法第四层:把自己的大脑当成电脑, 按照大脑的思考方式分步骤转换成代码即可。
- 算法入门心法第五层:开始模仿算法解题思路去解决一些新题目或题目变种
- 算法入门心法第六层:灵活掌握各种算法的优缺点,解决实际问题。
- 算法入门心法第七层:自创算法,去改造优化算法。
1. 入门指南
你想知道怎么使用它么?
好,现在让我们开始。
1.1 如何下载该项目
- 首先我们需要把它fork或者clone 下载到你的电脑里。
git clone https://github.com/geekxingyun/leetcode-java-algorithm-solution.git
- 然后你将会发现项目分成了两个模块
- complete: 这个一个已经完成的项目模块包含了Leetcode 算法问题的参考答案。
- initial: 你只需要在这个项目里练习写算法就好了。
如果你不知道哪道题如何写,就打开complete 模块找答案就是了。
1.2 如何使用这个项目
项目代码持续更新中, 当前效果图如下:
1.2.1 使用Maven
如果你使用的是Maven 就用Intellij idea 或Eclise 打开项目根目录的pom.xml
然后在initial 模块写代码就行了
1.2.2 使用Gradle
如果你使用的是Maven 就用Intellij idea 或Eclise 打开项目根目录的build.gradle
然后在initial 模块写代码就行了
1.3 贡献
我是技术宅星云,英文名 fairy, 是一名Java 软件工程师。
如果你认为这个项目对你有用,请标记个star以便于更多的人能知道这个项目。
如果有任何问题请发送邮件给我,aaa@qq.com
说完了,谢谢~
1.4 项目开源地址
https://github.com/geekxingyun/leetcode-java-algorithm-solution.git
上一篇: 简单汉诺塔的C语言实现
下一篇: 使用BezierPath实现简单的画板
推荐阅读