学弟学妹少走弯路,超完整算法刷题路线出炉
大家好,我是帅地。
本篇文章主要讲解下面三个事:
1、自己学习算法的一些经历
2、大家学习算法存在的一些普遍问题
3、给大家规划的算法刷题路线
一、算法学习往事
记得当初学了 C 语言就开始刷题了,刷题倒不是面试,而是为了通过转专业考试,因为我大一第一学期读的是非计算机专业,了解到转专业需要做 一些简单的算法题,那会我就给同学借了学校的 OJ 账号,开启了一波刷题之路。
到了第二学期转专业考试,也是轻松通过的考试,因为对我来说,那些试题太简单啦。
到了大一第二学期之后,我就慢慢开始学习数据结构了,在 OJ 上也没怎么刷题了,因为比较简单的题都被我刷了,剩下的都是一些比较难的题,有些刷不动,就没刷。
那会刷的题都比较考察思维,没有涉及诸如回溯啊,动态规划啊这些算法思想,不过那会是刷的真爽,因为每次通过一道题就可以升一个等级,刷了比较难的题直接涨 三个等级(当然具体我也忘了,只是记得是这样)。
不过我很庆幸那会的刷题,虽然没有学到各种牛逼的算法思想,但是刷了一两百道题之后,我觉得我的编码能力确实有 不少的题型,比如很多时候,我能够把自己的想法转化成具体的代码,而这种能力,我觉得是非常重要的。
后面学习数据结构的时候,有不少题数据结构,我了解了思路之后,自己就能够试着去写代码了,即使存在不少 bug。
大概第二学期花了两个月学完了《数据结构与算法分析:C语言描述版》这本书之后,根据自己各方面都有了挺大的提升,然后学校也有开设算法选修课,通过选修课也接触了诸如 枚举啊,贪心啊,动态规划,回溯之类的算法思想,不过那会是真的不知道老师在讲什么,特别是动态规划,一上来就是 0-1背包问题,反正我是听的 一脸懵逼。
之后自己就去买了好些书,比如《挑战程序设计大赛》,《编程之美》,还有ACM算法竞赛啥的,反正忘了,总的来说就是,书看的比较多。因为那会不像现在,网上攻略一大堆,网课也一大堆,当然,那会也没有诸如校招等相关信息。
但是我觉得也挺好的,至少学的很爽,也没想着是要笔试,面试啥的,学的比较纯粹,然后也有去一些诸如 杭电OJ 的平台刷了一些题,leetcode 倒是刷的不多,leetcode 是后面校招求职才知道的。
总的来说就是,大一和大二第一学期,在算法上还是花了不少时间,也学的很快乐,但是要说刷题的数量,其实不多,我感觉可能就是三四百道吧,但是我觉得对于 leetcode 上的题,很多题还是可以做出来,包括后面大厂面试,基本都能做出来,笔试的话,有点难,但是也做的还行吧。
总的来说就是,我觉得先打基础非常重要,之后再去学习一些算法思想,之后再刷题巩固。
二、大家学习算法存在的一些普遍问题
刚才我大致说了我算法学习的一个大致路线,相对来说我踩坑是比较多的,比如我是踩了坑之后,再去学习对应的算法思想,而且前期刷了很多基础题,编码能力也还不错。
但是现在的很多人,我觉得编码能力好差啊,比如有些人说已经刷了 300 多道 leetcode 的题了,我以为挺厉害了,但是我让他做题,发现好菜啊,就是不够灵活 + 无法把自己的想法用代码表达出来,而且寻找 bug 的能力也比较差。
而且很多人也是按照 leetcode 的顺序刷题,如果是非初学者,我觉得按照顺序也是没问题的,但是 leetcode 顺序的话,难度分布还是不科学的,如果你硬着头皮去刷,肯定被劝退,比如第十题就是正则表达式。
当然,也有很多人直接跟着攻略学习一些算法思想,然后刷题,这样也不是不行,但是如果是初学者,比如学习了一门语言,并且也没做过什么练习题,那么其实编码能力很差的,即使学懂了算法思想,但还是会无法自己独立写出代码,原因就是基础太差,我觉得可以先做一做基础题,再去学这些算法思想,再去刷题吧。
三、给大家规划的算法刷题路线
然后也有很多人问是按照 leetcode 顺序刷题还是分类刷题,其实刷题没有严格顺序,专题刷或者顺序刷都可以,但是这对于初学者来说,容易遇到很难的题,进而被劝退,所以我也给大家规划了一个刷题顺序,如果你没有明确的目标,你可以按照我这个顺序来刷题,本刷题顺序只是基于我个人的刷题理解,挑选了差不多 200 道题,并且会按照循环渐进且相对系统的方式给出题目,反正按照这个顺序刷,以后应付算法面试或者打蓝桥杯这些都是问题不大。
大致目录

当然,这个刷题路线是免费的,大家如果没有明确路线的,可以跟着刷,题量 也是挺多的了,跟着刷完,面试和蓝桥杯这些,应该问题不大。
算法刷题路线地址入口:https://www.playoffer.cn/1216.html
大家加油!
相关文章:
学弟学妹少走弯路,超完整算法刷题路线出炉
大家好,我是帅地。 本篇文章主要讲解下面三个事: 1、自己学习算法的一些经历 2、大家学习算法存在的一些普遍问题 3、给大家规划的算法刷题路线 一、算法学习往事 记得当初学了 C 语言就开始刷题了,刷题倒不是面试,而是为了…...
Windows截取gif动态图的软件 ScreenToGif 的安装、使用教程
一、概述 👉GIF(Graphics Interchange Format),又称图形交换格式,是一种公用的图像文件格式标准,于1987年由Compu Serve公司成功研发并推出。 👉GIF用于以超文本标志语言方式显示索引彩色图像&a…...
C++程序设计——多态:虚函数、抽象类、虚函数表
注:以下示例均是在VS2019环境下 一、多态的概念 通俗来讲,多态就是多种形态,当不同的对象去完成某个行为时,会产生出不同的状态。即不同继承关系的类对象,去调用同一函数时,产生不同的行为。 比如”叫“这…...
OpenMMLab AI实战营 第6课 语义分割与MMSegmentation
第6课 语义分割与MMSegmentation 1. 语义分割简介 任务:将图像按照物体的类别分割成不同的区域,等价于对每个像素进行分类应用 无人驾驶人像分割智能遥感医疗影像分析 语义分割 vs 实例分割 vs 全景分割 语义分割:仅考虑像素的类别…...
产业互联网是对互联网的衍生和进化,也是一次重塑和再造
互联网并不仅仅只是充当撮合和中介的角色,它应当具备更多的功能和意义。只有这样,它的发展才能够真正全面和完善。产业互联网的衍生和出现,正是在互联网进化的基础之上出现的。这是我们看到之所以会有那么多的互联网玩家投身到产业互联网的浪…...
Shell脚本之——Hadoop3单机版安装
目录 1.解压 2.文件重命名 3.配置环境变量 4.hadoop-env.sh 5.core-site.xml 6. hdfs-site.xml 7. mapred-site.xml 8.yarn-site.xml 9.完整脚本代码(注意修改主机名) 10.重启环境变量 11.初始化 12.启动服务 13.jps查询节点 1.解压 tar -zxf /opt/install/hadoo…...
代码随想录NO39 |0-1背包问题理论基础 416.分割等和子集
0-1背包问题理论基础 分割等和子集1. 0-1背包问题理论基础(二维数组实现)2. 0-1背包问题理论基础 二(一维数组实现)1. 0-1背包问题理论基础(二维数组实现) 背包问题一般分为这几种: 0-1背包问题:有n件物品和一个最多能背重量为w…...
FITC-PEG-FA,荧光素-聚乙二醇-叶酸,FA-PEG-FITC,实验室科研试剂,提供质量检测
FITC-PEG-FA,荧光素-聚乙二醇-叶酸 中文名称:荧光素-聚乙二醇-叶酸 英文名称:FITC-PEG-FA 英文别名:Fluorescein-PEG-Folic Acid 性状:基于不同的分子量,呈白色/类白色固体,或粘稠液体。 溶…...
简洁易懂:源码+实战讲解Redisson并发锁及看门狗自动续期
1 缘起 有一次同事问Redisson存储的键是否为hash? 我当时,没有看Redisson的相关源码,只知道应用, 所以没有办法回答,于是开始看看Redisson实现的源码, 顺便写了一个单机Redisson测试, 发现Redi…...
TCP 三次握手和四次挥手
✏️作者:银河罐头 📋系列专栏:JavaEE 🌲“种一棵树最好的时间是十年前,其次是现在” 目录TCP 建立连接(三次握手)为啥不能是 4 次?为啥不能是 2 次?三次握手的意义:TCP 断开连接(四…...
JavaWeb复习
JavaWeb复习一.概述1.概念2.B/S和C/S 架构二.HTTP通信协议概述1.概念2.HTTP1.0 与 HTTP1.1 版本3.HTTP 协议组成4.常见状态码5.GET 与 POST 请求方式三.Tomcat1.Web服务器介绍2.安装(Windows)3.Tomcat目录结构4.server.xml部分配置解释四.Servlet1.概念2…...
P14 PyTorch AutoGrad
前言:激活函数与loss的梯度PyTorch 提供了Auto Grad 功能,这里系统讲解一下torch.autograd.grad系统的工作原理,了解graph 结构目录:1: require_grad False2: require_grad True3: 多层bakcward 原理4: in…...
前端报表如何实现无预览打印解决方案或静默打印
在前端开发中,除了将数据呈现后,我们往往需要为用户提供,打印,导出等能力,导出是为了存档或是二次分析,而打印则因为很多单据需要打印出来作为主要的单据来进行下一环节的票据支撑, 而前端打印可…...
Operating System Course 2 - My OS
Computer Startup process上一篇:http://t.csdn.cn/XfUKt 讲到这个启动设备的第一个扇区:引导扇区。那么引导扇区的代码长什么样子?这里得看引导扇区代码源文件bootsect.s(.s后缀文件为用汇编语言编写的源代码文件)。另…...
离散数学 课时一 命题逻辑的基本概念
1 命题 1、命题:可以判断其真值的陈述句 2、真值:真或者假(1或者0) 3、真命题:真值为真的命题 4、假命题:真值为假的命题 5、原子命题:不可以再被分解成更简单的命题 6、复合命题:由原子命题通过联结词联结…...
Word文档带有权限密码怎么办?
Word文档的权限密码指的是什么?其实这是Word文档的保护方法之一,具体指Word文档的编辑、修改受到了限制,需要输入密码才能进行。 设置了权限密码的Word文档还是可以直接打开,只有当需要编辑或者修改内容的时候,才会发…...
C++多态
1. 多态的概念1.1 概念多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态举个例子:比如买票这个行为,当普通人买票时,是全价买票;…...
访问学者如何申请美国J1签证?
一、申请美国J1签证的步骤: 第一步:填写I901表。 填写I901表会收取SERVIS费用180美元,可以用VISA/Master卡直接网上支付。填完后打印收据单或者存成PDF后续再打印,记下I901收据编号。 第二步:DS-160表填写。 填写DS-…...
使用gitlab ci/cd来发布一个.net 项目
gitlab runner的安装和基本使用:https://bear-coding.blog.csdn.net/article/details/120591711安装并给项目配置完gitlab runner后再操作后面步骤。实现目标:master分支代码有变更的时候自动构建build。当开发人员在gitlab上给项目打一个tag标签分支的时候自动触发…...
笔试题-2023-蔚来-数字芯片设计【纯净题目版】
回到首页:2023 数字IC设计秋招复盘——数十家公司笔试题、面试实录 推荐内容:数字IC设计学习比较实用的资料推荐 题目背景 笔试时间:2022.08.24应聘岗位:校招-芯片逻辑综合工程师-智能硬件笔试时长:90min笔试平台:nowcoder牛客网题目类型:不定项选择题(15道)、填空题…...
量子互联网节点混合程序执行挑战与Qoala架构解析
1. 量子互联网节点的混合程序执行挑战量子互联网作为量子计算与量子通信技术的融合产物,正在从理论构想走向工程实践。与传统互联网不同,量子互联网的核心功能依赖于量子比特(qubit)的特殊性质——特别是量子纠缠和量子叠加态。这…...
从STM32F103到RP2040:新手如何用Arduino快速上手这块‘网红’双核MCU(附Wokwi在线仿真链接)
从STM32F103到RP2040:用Arduino生态快速征服双核MCU 第一次拿到RP2040开发板时,我习惯性地翻出STM32的工程模板准备移植——直到发现这个拇指大小的板子藏着两个能跑到133MHz的Arm Cortex-M0核心。作为从STM32F103时代走过来的开发者,我们早…...
DeepSeek API调用性能翻倍的7个隐藏配置:90%开发者从未启用的关键参数
更多请点击: https://intelliparadigm.com 第一章:DeepSeek API调用性能翻倍的7个隐藏配置:90%开发者从未启用的关键参数 DeepSeek API 的默认配置虽稳定,但远未释放其底层并发与缓存能力。通过调整七个常被忽略的 HTTP 请求头与…...
漏洞审计实战:从思维模式到工具协同的代码安全深度剖析
1. 项目概述:从“bug-audit-skill”看漏洞审计的实战化沉淀最近在GitHub上看到一个名为“bug-audit-skill”的项目,作者是abczsl520。这个项目名直译过来就是“漏洞审计技能”,它不像一个具体的工具,更像是一个知识库或经验集。在…...
基于PM波谱的二级海浪三维数值建模与可视化仿真
摘要:海浪的数值建模与三维可视化仿真在海洋工程、船舶设计及海上作业安全评估等领域具有重要的应用价值。针对二级海况(有义波高约 1.0 m、风速约7 m/s)条件下的不规则海浪模拟需求,本文提出了一种基于Pierson-Moskowitz…...
Awesome BigData实时数据集成平台:CDC连接器与数据同步工具终极指南
Awesome BigData实时数据集成平台:CDC连接器与数据同步工具终极指南 【免费下载链接】awesome-bigdata A curated list of awesome big data frameworks, ressources and other awesomeness. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-bigdata G…...
CodeGPT:基于AI的Git提交信息自动生成工具实战指南
1. 项目概述:CodeGPT,一个用Go写的AI驱动Git工具 如果你和我一样,每天都要在终端里敲无数次 git commit -m "..." ,并且为写一个清晰、规范的提交信息而绞尽脑汁,那今天分享的这个工具绝对能让你眼前一亮…...
Zotero PDF Translate终极配置指南:如何一键激活20+翻译服务
Zotero PDF Translate终极配置指南:如何一键激活20翻译服务 【免费下载链接】zotero-pdf-translate Translate PDF, EPub, webpage, metadata, annotations, notes to the target language. Support 20 translate services. 项目地址: https://gitcode.com/gh_mir…...
在Serv00共享主机上部署SOCKS5代理:原理、部署与优化指南
1. 项目概述与核心价值最近在折腾一些需要稳定网络连接的自托管服务时,遇到了一个经典难题:如何在资源受限的共享主机环境里,搭建一个轻量、稳定且可控的网络代理通道。这让我想起了之前在社区里看到的一个项目——cmliu/socks5-for-serv00。…...
AI Agent沙箱环境部署指南:从Docker容器化到生产级运维
1. 项目概述:构建一个生产级的AI Agent沙箱环境最近在折腾一个挺有意思的项目,叫NemoClaw OpenClaw Sandbox。简单来说,它是一套完整的、开箱即用的部署方案,能帮你在自己的云服务器(VPS)上,快速…...
