零基础新手学习算法Leetcode刷题指南

刷算法到底在刷什么?这是很多人会想不明白的。而算法为什么这么重要,今天想说下这块内容。市面上都在说不要重复造轮子,这里说的不是你在一开始就不造轮子。

我们学习成长的过程是,先模仿,后改造,最终创新。所以每个人都在重复造轮子,只是刚开始阶段,如果你一直在造轮子,那么说明你不是站在巨人的肩膀上。所以这里我想先说下,大学时期就是要多造轮子,多刷算法题,扎实的基础,是建造代码世界的地基。

地基不牢,地动山摇,没人敢要你去开发,因为稍不注意,你就会让整个项目崩塌。

而刷题是怎么个过程呢?先认识到算法到底学什么?

第一个就是抽象能力。这点非常重要。在刷算法的时候,简单的加减乘除,训练的是你的代码能力,以及考虑问题的全面性,逻辑思维。当复杂的像线路规划,就不是简单的逻辑问题,还有你的抽象表达能力。

循序渐进的去刷题,会让自己了解到自己的代码缺陷,补充自己考虑不全的地方,以及代码的可靠性。这就是刷题第一个我们训练的能力。

我们在写代码的时候,考虑正常情况没问题,大多数就是没有注意到异常。而像Google,微软开发工程师,一样会埋下Bug,代码是写不完备的,但是能够考虑周全,是写代码的人基础能力,如果case项没写全,if条件没穷举,那么就是一个隐性的Bug。

当你思考问题越来越全面,仔细,把该想到的,大多都考虑到了,这个代码就是高质量的,也是程序员老人值钱的地方,他们知道你这个代码缺哪些补充条件,需要做一些判断处理。

第二个就是严谨。刷算法题就是会让你不断地开动脑筋,去思考怎么实现功能,同时还要考虑各种数据输入,出现的异常状况。Leetcode刷题就如同打怪一样,随着不断地刷题,你的知识库会更加牢靠,你会更加顺手的去用手里的武器,这里指的是各种数据结构,类型,以及系统提供的库,快速帮助你完成目标。

基础的算法刷完,后面你遇见一些实际问题,比如写了一个网站,做数据库查询,你就能知道有哪些,大概哪个符合要求。你凭空想一个算法,就不如在你已知的基础上做改进。

我在刚毕业时候,公司让开发一个百家姓,要做智能查询的。代码上用的是二叉树查找法,我在基础上做了一个哈希映射加二叉法提高效率。

这些都是在数据结构和算法中你会接触到的一些经典方案,时间和空间看怎么交换。很多时候我们看到的查询表,你说计算机算不出来吗?可以的,但是没必要,存储一个表格就能轻松的快速的直接查询的方法给出答案,在合理状态来就是最优解。

刷题是训练自己的思维,遇见问题时候的解决能力,当你不会的时候,就会去开动脑筋,进行搜索,最终搞定问题,而这个就是刷题真正的意义所在。让你最终有了一套解决问题的能力,技巧。

这是我想说的,下来我分享一些Leetcode的资料,大家感兴趣的想学习的可以去学了。

第一个是中文网站 https://leetcode-cn.com/

上面有各种题,你也可以用各种语言去编写实现,如果不会,它有相对应的讲解视频,作为学习非常方便了。

第二个是动画版本演示学习,更加直观一些。(文末有获取方式

第三个是文字版本的讲解,详细的讲解Leetcode每个题的解法,实现方式。(文末有获取方式

第四个,分享一个B站视频,大家有时间,时间充足下可以学习。

地址:https://www.bilibili.com/video/BV1GW411Q77S

最后说下我的b站,主要讲解计算机知识,职场经验,面试技巧,大家可以来围观了。B站搜索 程序员职场大萌哥  ,就可以看见我了。

最后分享个好的课程,大家感兴趣可以围观学习了。

长按下方图片,进行学习。

本文中的资料,后台回复 Leetcode刷题 获取全部资料。

~~ end not end ~~

职场老鸟,互联网十年从业生涯,分享 [Java,Python,安卓,AI,爬虫] 技术文章,学习资料, 热点趣闻等。关注回复 1024 Python 电子书大全 面试资料,给你一份私藏的程序员好礼,永远更新中!赶紧来关注哦!

### 回答1: LeetCode 是一个在线编程挑战网站,提供了许多算法数据结构题目供程序员练习和提高。下面是一些关于使用 PythonLeetCode 的提示: 1. 首先,了解题目的要求和限制,并确定解题思路。 2. 使用自己熟悉的编程语言(如 Python)进行编码。 3. 在完成编码后,进行单元测试,确保代码的正确性。 4. 提交代码,查看结果。如果错误,请思考错误原因并进行调试。 5. 反复做题,提高自己的算法数据结构能力。 6. 可以参考其他人的题解和代码,可以更好的学习和了解题目的解法。 ### 回答2: LeetCode是一款非常好的刷题平台,它提供了大量的算法题目,帮助程序员们提高编程技能。但是,想要刷好LeetCode需要一些方法和技巧。本篇文章主要介绍LeetCode刷题指南,特别是使用Python语言刷题。 首先,我们需要明确一个问题:刷LeetCode最重要的是什么?我认为是“理解算法”。很多人最开始刷LeetCode时会想直接写代码试试,这是错误的做法。我们首先需要理解题目的意思,思考算法的解题思路,以及算法的时间复杂度和空间复杂度等问题。只有当我们弄懂了算法的思路,才能够写出高质量的代码。 其次,我们需要建立良好的代码习惯。Python是一门非常简洁优雅的语言,但是我们需要注意代码的可读性和规范性,这样在后期维护代码时会更加方便。建议使用pycharm等IDE工具,并安装Pylint等插件进行代码检查和优化。 接下来,我们需要准备好一些有效的刷题工具。为了方便,我们可以在本地安装刷题必备工具,例如:leetcode-cli、leetcode vscode插件、leetcode-cn的官方Python SDK等。这些工具可以帮助我们快速地创建、调试和提交题解,并且可以方便地查看题目和测试样例。另外,我们还可以用一些在线的工具,如Jupyter Notebook、Google Colab等来刷题。 最后,我们需要保持耐心和持之以恒的心态。LeetCode刷题不是一蹴而就的事情,需要坚持不懈地努力。每道题都应该认真思考,从简单到复杂、从容易到难以深入理解,跟着题目一步步实现代码解题。通过刷题,我们可以锻炼自己的编程技能、提高算法水平、积累自己的编程经验。 总之,LeetCode是一款非常优秀的算法题目平台,它可以帮助程序员们提高编程水平。使用Python语言刷题,需要我们掌握好编程思路,建立好良好的代码习惯,使用好刷题工具,并坚持不懈地刷题去提升自己的能力。 ### 回答3: 随着人工智能和大数据技术的快速发展,编程成为了一项越来越重要的技能。而刷leetcode算法题是提高编程技能、增加算法思维的有力方式之一。本文主要介绍如何通过Python语言刷leetcode算法题。 一、准备工作 1.安装Python环境 Python是一种优秀的面向对象的解释型计算机程序设计语言,在如今的人工智能和数据科学领域应用广泛。首先需要安装Python环境,推荐安装版本为Python 3.x。 2.注册LeetCode账号 可以通过该网站进行LeetCode算法刷题,而注册账号是必选步骤。 二、解题流程 1.题目分析:初学者可先从LeetCode官方题解中找到简单难度的题目,通过阅读题目,明确题目的意义,梳理解题思路和关键信息。 2.思路整理:理清题目后,可以尝试使用笔和纸来将题目要求和信息进行抽象和总结。可以画图或列出清晰的步骤,为编写代码提供思路。 3.编写代码:将思路转化为代码实现。结合算法,通过Python语言的面向对象编程,从而完成代码的编写。 4.测试和优化:在完成编码后,需要对代码进行测试,并对代码进行优化处理。可以通过LeetCode的自动评测系统,检查代码运行是否正确。此步骤也有助于人为地检查代码中的错误,提高代码的效率和质量。 5.总结归纳:在完成一定数量的算法刷题后,可以对做题有所总结和归纳。思考算法题的分类和解题的技巧,这有助于加深理解并提高解题效率。 三、学习资源 1. LeetCode官方网站:www.leetcode.com 2. 《Python Algorithm Interview》 3. 《算法图解》 4. 数字图书馆:https://www.gitbook.com/book/jalan/leetcode-python/details 5. Github仓库:https://github.com/yuzhoujr/leetcode-python 总结一下,刷LeetCode题目是提高自己的算法和编程能力的好方法,Python语言无疑是实现目标的好选择;同时,在刷题过程中,理清题目并充分思考,多测试,总结归纳同样重要。希望以上的介绍有助于您更好地学习刷题
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员入门进阶(免费辅导开题报告)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值