刷题新手必看!如何简单快速地入坑leetcode!_如何刷leetcode
目录
前言
第一部分:认识leetcode
刷题位置:
推荐:
学习计划:
题目单 :
学习位置:
比赛位置:
讨论位置:
第二部分:如何用leetcode科学刷题?
前言:
新手:
制定计划:
刷题顺序 + 学习:
刷题计划推荐:
入门:
制定计划:
刷题顺序:
开始竞赛:
老手:
总结:
前言
首先在这里放一张图片以防有人说我是转载的
这张是3.11的
第一部分:认识leetcode
leetcode网址:力扣 (LeetCode) 全球极客挚爱的技术成长平台
首先我们要先知道,leetcode是一个集刷题、学习 为一体的平台
先带大家了解一下
刷题位置:
首先点开网址后你要先注册,然后来到首页,点击下面图片中的“题库”
然后进去之后你会看到如下:
接下来挨个讲解一下:
推荐:
推荐就是会给你推荐一些“leetbook”(学习的电子书)有兴趣的可以点进去看看,这里不多说
学习计划:
这个东西我觉得新手有必要进去看一看,这个东西可以督促你每天去刷题,对新手有很大帮助,列个顺序:
1.[新]动计划·编程入门(新手必做)(全是基础)
2.Leetcode热题100(新手的进阶题单,快速入门)
3.自选
(注意有些题单里头有VIP题目,可以跳过)
题目单 :
这个里头有所有的题目,新手刷题可以一道一道刷或者从简单往困难刷
简单:新手多做一做,有好处,不难,可以锻炼编程基础
中等:新手想提升自己可以做一做,比较难,可以锻炼编程的算法
困难:入门过后一定做,有很多好处,很难,可以锻炼编程进阶算法和高级算法,像要参加蓝桥杯的,一定多刷一刷
学习位置:
还是上面的图片,点击“学习”
你就会看到里面有很多的“Leetbook”
比赛位置:
还是上面的图片:
点击“竞赛”
讨论位置:
点击\"讨论“
讨论的重要性 :讨论还是建议大家多去看的,因为如果你有编程或者刷题方面的问题可以提问,或者说可以分享一些技术、一些心得
第二部分:如何用leetcode科学刷题?
前言:
那么我们在这里会分为三个阶段:新手——入门——老手
新手:
新手的刷题一定要科学!科学!科学!因为如果你不去科学的刷题,你每天的刷题计划会乱掉,而且也无法在刷题中学习到新的知识。给大家看一下我刚来leetcode时不科学的样子:
就只有几天,所以无法做到“科学”
那么接下来就说说科学刷题的方法:
制定计划:
你刷题的时候一定要想好:
(1)每天刷几道题(比如说每天3道题就可以)
(2)刷题的频率(如果忙的话可以隔一天一刷,不忙的话每天都要刷)
(3)刷题的难度(建议选择简单)
刷题顺序 + 学习:
刷题顺序:从简单开始一直从1开始往下刷(下图中的“难度”选择简单)
这里给大家一句话:在leetcode中的每一道题都不是白刷的!
为什么我这样说,因为首先,leetcode中的每一道题都是有自己的用处的:
1.两数之和 1. 两数之和 - 力扣(LeetCode)
比如说这道题,做完了之后,我问你两个问题:
它有什么用?如果没有用,那么有这道题干什么?
这道题如果细心的同学就会发现,它考察了两个部分:
第一:双层循环 + 数学
这个里头说白了就是让我们用两层循环去遍历数组,然后两两相加如果满足条件就输出
class Solution {public: vector twoSum(vector& nums, int target) { int i,j; for(i=0;i<nums.size()-1;i++) { for(j=i+1;j<nums.size();j++) { if(nums[i]+nums[j]==target) { return {i,j}; } } } return {i,j}; };};
第二:反方向推论:这道题其实还有另一种做法(py语言)
比如说,我们想
如果说循环到的数字与target的差在list中,那么,这个循环的数字和另一个数字就满足条件,就可以输出;
class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: resultlist = [] length = len(nums) for i in range(length): temp = target - nums[i] for j in range(i+1,length): if nums[i]+nums[j]==target: resultlist.extend([i,j]) return resultlist
你看,在这么一道简简单单的题里面,你就可以学到两个基础知识点,所以说 在leetcode中的每一道题都不是白刷的!
刷题计划推荐:
首先,我推荐的是“[新]动计划·编程入门”,网址「新」动计划 · 编程入门https://leetcode.cn/studyplan/primers-list/ 这个计划可以
1.快速熟悉leetcode刷题环境与难度
2.快速入门编程基础
其次,我推荐的是“编程基础0到1”,网址
编程基础 0 到 1https://leetcode.cn/studyplan/programming-skills/ 这个计划可以
1.学习所有编程基础,帮助你在今后的刷题中不在烦恼
2.平时的竞赛也有帮助
最后,大家可以选择自己喜欢的刷题计划,这里不做推荐
入门:
当你成功地刷到了100多道的时候,你可以算做入门了。
那么,入门的人就应该更上一层楼
制定计划:
制定入门计划时,你要想到:
(1)刷题的难度(建议选择中等或较难的简单题)
(2)每天刷题的规律性与学习性(比如今天学习什么知识,我要刷这种题)
刷题顺序:
入门的时候基本上就不用再去跟着题库的顺序或者说跟着计划了,我想你如果已经入门了,那么你的刷题已经规律了,对吧。
那么这里我就不多赘述了,说一下怎么查看难度“中等”和知识点
1.选择难度
难度里选择“中等”
2.知识点,上图中的“数组(2047)”那一行有一个“展开”展开后是全部的知识点与对应题型题目,选择自己需要的即可
开始竞赛:
到了入门的阶段我觉得就可以开始接触比赛了(当然如果没有时间不用的哈),具体方法看上面,我估计入门就可以答出2道题了?
说一下leetcode的竞赛:一共4道题,简单 —— 中等(简单) —— 中等 —— 困难
然后一般是根据答出题目的数量增加分数,开始2000分
老手:
欢迎各位来到老手阶段,老手阶段就是在入门“摸爬滚打”答了大概700多了吧。这个时候,你就没有要求了。
所以这里我没有放任何小标题,我认为:如果你已经是一个老手的话,那么你的刷题已经非常非常规律了。所以,结束了,你的leetcode刷题以后就是你自己的事情了。
正视一切,看向未来!
总结:
希望屏幕前的各位看到这里,可以点个关注,因为这篇文章我写了一周(哭)。
说一下为什么要写这篇文章,因为上周我900题了么,然后想着越来越多的人接触编程,让他们来leetcode可能是一种帮助,所以我写了这篇文章。
我希望各位可以真的在读完之后有所收获,那么我是llloxy,我们下篇博客再见!!