刷完 300 道 LeetCode 题后,我膨胀到要飘起来了!纯正 Java 版

news2024/11/27 10:27:30

算法题就好像科举考试时代背的八股文,是知识改变命运的代表作。你不刷,不管是校招还是社招,就很过算法题这一关。

我整理的这份 LeetCode 刷题笔记足足 300 道,对算法薄弱和需要提高算法的同学很有帮助。


随便打开一道题解感受下,作者真的做到了图文并茂,不只是干巴巴的解题代码。这些手绘图让我感受到了作者的良苦用心,并且很多题都给出了多种解题思路,让我们能从不同的角度去思考,去得出最优解,而最优解,在面试的时候也是加分项。

作者从大一就知道了 LeetCode,但刷题总是三天打鱼两天晒网,隔断时间再去看之前刷过的题总是会想不起来,于是就萌发了刷一道题总结一题的想法。另外一方面,LeetCode 上的一些题解讲解得很少,有些只是简单的丢一些代码,对菜鸟很不友好,于是作者就想借这个机会把自己的各种解题方法都梳理清楚,然后详细地总结出来,也能方便其他小伙伴更好的理解,可谓一举多得。

作者在大一的时候就参加过 ACM 集训,但当时基础太差了,栈和队列都不清楚,所以 ACM 之路也就搁浅了。再准备刷题的时候已经是大四毕业的时候了。

作者在刷前几道题的时候也很慢,很多都没有思路,只能靠别人的解题思路才勉强过关。尤其是第 5 题求最长回文序列,用了好多天才把所有解法都总结了出来。

等到作者刷完 100 道题之后,发现真的是爱上了刷题。基本上后面的每道题都可以想出一种思路,甚至就是最优解,还会萌生一些别人没想到过的解法——哈哈,一种打游戏超神的感觉~

所以呢,我劝大家,不要怕自己基础不好,不要担心自己想不到解题思路,一开始就是借钱嘛,不不不,借鉴嘛,借的多了,自然就不用还了,成自己的了。重要的是开始坚持

Q:刷题需要基础吗?

A: 对于前 90 道题,只需要了解一门编程语言,知道变量、方法如何定义,if 语句,循环语句,递归。了解基本的数据结构,数组、链表、栈、队列、哈希表就可以了。

Q:按照什么顺序刷题?

A: 可以按照题目难度来,一开始多刷 easy 级别的,熟悉一下刷题的流程。如果时间充足的话,可以像作者一样,顺着 LeetCode 上题刷,先培养一些常用的解题思路,然后再慢慢加深巩固。

Q:选哪门编程语言刷?

A:作者的答案也是随便,不用纠结。算法与编程语言之间的关系就好像抄近道和交通工具之间的关系,算法只是用来降低时间复杂度和空间复杂度的。选一门熟悉的编程语言就好。作者选 Java 的主要原因是因为 Java 属于强类型语言,写出来的解题方法会更容易读懂一点。

Q:只刷题就能找到工作吗?

A:答案是显而易见的,我和作者保持同样的观点,只刷题肯定是不够的,还要了解岗位(前端、后端、算法)的相关知识,另外还要做一些练手项目,得有一些实战经验。

我和作者保持同样的观点,只刷题肯定是不够的,还要了解岗位(前端、后端、算法)的相关知识,另外还要做一些练手项目,得有一些实战经验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【云原生】监视Docker桌面的容器内存和CPU使用情况

目录 一、如何监视Docker桌面的容器内存和CPU使用情况 1、stats命令 2、Docker 统计命令stats是如何工作的 2.1、命令与描述 2.2、OPTIONS 2.3、例子 2.4、格式化 3、满足资源使用扩展 4、如何安装“资源使用情况”扩展插件? 5、总结 一、如何监视Docker桌…

SQL记录

DateDiff函数 定义和用法 DATEDIFF() 函数返回两个日期之间的天数。 语法 DATEDIFF(date1,date2) date1 和 date2 参数是合法的日期或日期/时间表达式。 注释:只有值的日期部分参与计算。 实例 下面是 SELECT 语句: SELECT DATEDIFF(‘2008-11-30’,‘2…

WinRar去除弹窗广告的学习和研究

不可否认WinRar是一款优秀的解压缩软件,尤其是在Windows中使用还是较频繁的。 但是使用时弹出: 这就有点难受了。 那么怎么解决呢?好吧,以学习和研究为目的开始折腾...... 经过对WinRar不同版本的试用,原来这个弹窗是…

ubuntu修改网易云音乐分辨率显示

问题 网易云音乐不能随着系统显示的缩放比自动调整,分辨率较高的显示器上界面显示特别小。只能通过如下的办法解决: ubuntu修改网易云音乐分辨率显示,也就是修改显示 DPI 。 方法 sudo vim /usr/share/applications/netease-cloud-music.d…

12月12日

centos7查找java在哪,which java确认环境变量是否生效,可以输出一下:echo $JAVA_HOME同一个github账号上的所有的项目只需配置一次私钥和公钥,私钥和公钥的作用是你本机ip和这个账户所在github约定的一个对接方式,配置…

微服务框架 SpringCloud微服务架构 分布式事务 38 动手实践 38.5 实现AT 模式

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 分布式事务 文章目录微服务框架分布式事务38 动手实践38.5 实现AT 模式38.5.1 实现 AT 模式38 动手实践 38.5 实现AT 模式 38.5.1 实现 AT…

docker部署mysql问题汇总

部署命令 注意conf文件在实际容器中的位置,有的版本是直接在/etc目录下,可以先创建一个容器进去看看 docker run --restartalways --privilegedtrue \ -v $PWD/mysql/data/:/var/lib/mysql \ -v $PWD/mysql/logs/:/var/log/mysql \ -v $PWD/mysql/con…

Shell脚本学习指南(七)——产生脚本

文章目录前言路径查找软件构建自动化前言 本篇,我们将进一步处理更复杂的工作。我们认为这里举出的例子都是一般用得到的工具,它们每一个都截然不同,且在大多数UNIX工具集里也没有。 在篇中的程序,包括命令行参数分析、在远程主…

电气数据|IEEE118(含风能太阳能)

1 概述 在本科或者研究生写论文时,经常需要用到很多数据,所以数据显得尤为重要。 下面这段文字,为了字数需要,所以可以忽略。 现代这种“探索、征服”的心态,从世界地图的演变可以看得一目了然。早在历史进到现代之前…

猿如意中的【PyCharm社区版】工具详情介绍

猿如意中的【PyCharm社区版】工具详情介绍,手把手教你使用猿如意下载、安装和配置【PyCharm社区版】,希望能帮助到有需要的童鞋。 文章目录前言一、猿如意介绍二、PyCharm社区版开发工具简介1.【PyCharm专业版】和【PyCharm社区版】的功能区别2.【PyChar…

新兴新能源设施[1]--盐穴压缩空气储能相关配套设施

新兴新能源设施[1]--盐穴压缩空气储能相关配套设施前言1. 什么是盐穴压缩空气储能?2. 盐穴储气的相关应用案例2.1 江苏常州应用案例2.2 衡阳压缩空气储能项目2.3 山东肥城10MW盐穴压缩空气储能系统3. 气-液、油-水界面信息探测和信息传输3.1 中子寿命测试油水界面&a…

一种近红外区荧光染料:ICG-Tetrazine,ICG-TZ,在影像医学,光热 等都会有一定的应用

凯新生物一种近红外区荧光染料,Cy系列(花菁类)染料(630-670 nm、650-700 nm),在影像医学,光热 等都会有一定的应用。和四嗪基团进行结合,进行相应的荧光标记。 【英文名称】 ICG-Te…

Linux 的常用命令

前言 本篇博客给大家介绍一些常见的 Linux 命令 目录操作 pwd 查看当前工作目录 clear 清除屏幕 cd ~ 当前用户目录 cd / 根目录 cd - 上一次访问的目录 cd .. 上一级目录 其中清除屏幕的快捷键是: ctrl l ls 语法: ls 选项 目录或文件 功能: 对于目录来说…

VS实现一个爬虫程序<c++>获取网页源代码

目的:写一个爬虫程序,可以进入http开头的网页,将网页的源代码显示出来. 结果展示: 思路: 1.解析网址 2.连接服务器->发请求 3.接收源代码并存储起来 函数: 1.解析网址函数: http://......./...... //....../之间的字符我们将其存储到urlAddr[]当中 /......之后的字符…

CentOS7安装Docker

1. 确定是CentOS8及其以上版本 $cat /etc/redhat-release 2. 卸载旧版本 $sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 3. yum安装gcc相关 $yum -y install g…

自动化部署npm安装sass是报错,往往是node版本太高导致的

本想尝试一下github的自动化部署,将一个vue项目部署到github pages上面,结果报错: 报错: npm ERR! code 1 50npm ERR! path /home/runner/work/CvReport/CvReport/node_modules/node-sass 51npm ERR! command failed 52npm ERR!…

感性认识:计算机基本工作原理

一. 计算机发展史概述 1946年2月14日,在美国宾夕法尼亚大学,众所周知的世界上第一台电子数字计算机ENIAC诞生。然而,英国在二战期间研制的电子计算机Colossus(巨人)却要比ENIAC早两年,多年来,英国人对自己研制首台电脑…

运筹说 第85期 | 只有初中学历的数学家

有学者形容华罗庚是在中国现代数学洪荒之地中抱定“战士死在沙场幸甚”的开拓者。这一句话足以肯定华罗庚教授在我国数学领域重要地位,下面我们就来一起领略伟人的风采。 (华罗庚,1910年11月12日-1985年6月12日) 华罗庚&#xff0…

预尝试4个小时入门Vue

目录 Vue简介 ​编辑 第一个vue程序 el挂载点 data数据对象 Vue指令 v-text和v-html v-on v-show v-if v-bind v-for v-model 记事本案例 axios网络请求库 1、安装 2、使用&#xff0c;作一个音乐播放器 均来自黑马教程。 Vue简介 第一个vue程序 <!DOCTYP…

用 Python 编写的 Python 解释器,你会吗?

计算机只能理解机器码。归根结底&#xff0c;编程语言只是一串文字&#xff0c;目的是为了让人类更容易编写他们想让计算机做的事情。真正的魔法是由编译器和解释器完成&#xff0c;它们弥合了两者之间的差距。解释器逐行读取代码并将其转换为机器码。 在本文中&#xff0c;我…