刷题交流|答粉丝问:Leetcode刷题前应该具备哪些入门知识?
2040
2023.05.31
发布于 未知归属地

答粉丝问:Leetcode刷题前应该具备哪些入门知识?

粉丝:
东哥,我马上大三了,大学里面编程基本没咋练习,最近看你的帖子里面说到提升编程能力和以后面试都可以去刷Leetcode,但是我现在连easy的题目都写不出来,想问下我是不是得先去学习一些入门知识再来刷?
回答:
不知道你编程基础怎么样,如果编程基础不好的话,我建议你至少得去熟练的掌握一门编程语言,把它里面的变量、for循环、while循环、switch语句、函数、类等等基础知识点都熟练

粉丝:
那东哥你有推荐的语言吗?学校里面学的是C,但是我也学的不太好
回答:
我建议的是最好和你以后的方向语言保持一致,比如你以后做后端那就用Java去刷,要是以后做前端那就用JavaScript去刷
要是还没想好哪个方向,那就用Python去刷,这个语言很简单容易上手,学起来简单,使用范围也算比较广泛

粉丝:
数据结构这门课程我是不是也需要去重新学一遍,当时学的时候基本没咋听懂,东哥能帮我划个重点不?
回答:
这个课程你确实需要好好再学一遍,以后不管是考研还是工作面试,都会考这个
首先你是需要学懂啥是时间复杂度和空间复杂度,这两个东西是用来衡量算法性能的基础,算是贯穿整个算法学习和练习的过程
然后重点是学习下面这些内容:

  • 数组:数组遍历查找,数组的增删改查
  • 链表:和数组的区别,创建链表,链表节点的增删改查
  • 栈、队列:它们俩的区别,创建栈和队列,应用场景
  • 哈希:定义,哈希算法,应用场景
  • 二叉树:定义,创建二叉树,二叉树遍历算法
  • 堆:定义,创建堆,最大堆最小堆,堆排序算法
  • 简单图:定义,创建图,图遍历算法

粉丝:
谢谢东哥!!!我还想问下学完这些需要多久啊?
回答:
这得看你每天的学习时间有多少了,要是你每天有6个小时左右的时间来学这些东西,大概2个月应该可以学完
哦对了,还有一些数据结构算法的基础套路需要掌握:

  • 递归:定义,基础实现(斐波那契数列),递归的缺点
  • 排序:冒泡,快排,归并,它们的时间复杂度和空间复杂度
  • 二分查找:实现,时间复杂度和空间复杂度
  • 宽度优先、深度优先:实现,时间复杂度和空间复杂度

粉丝:
OK,我明白了,谢谢东哥
回答:
不客气,加油

评论 (9)