如何更好地学习和练习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以便于更多的人能知道这个项目。

如果有任何问题请发送邮件给我,[email protected]

说完了,谢谢~

1.4 项目开源地址

https://github.com/geekxingyun/leetcode-java-algorithm-solution.git

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章