欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何更好地学习和练习Leetcode

程序员文章站 2024-03-24 14:39:22
...

写在前面的话

无论你是为了面试还是为了提升自己的编程水平,你都应该好好学习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 如何使用这个项目

项目代码持续更新中, 当前效果图如下:
如何更好地学习和练习Leetcode

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