每日算法刷题计划

这是我每天坚持刷算法题的仓库,每天刷1-3道,时间30-40min,加油!
目前考虑leetcode+洛谷形式,c++和python3语言,leetcode主要学核心思想,洛谷学会输入输出格式
每日打卡:markdown+csdn打卡

刷题策略:

  • 按分类刷;每个分类从 Easy 到 Medium 顺序刷;
  • 优先刷题号靠前的题目;
  • 优先刷点赞较多的题目;

大体路线方向由简入难

在这里插入图片描述

  • 数学
  • 数组
  • 链表
  • 字符串
  • 哈希表
  • 双指针
  • 递归
  • 队列
  • 图与回溯算法
  • 贪心
  • 动态规划

数组-> 链表-> 哈希表->字符串->栈与队列->树->回溯->贪心->动态规划->图论->高级数据结构,再从简单刷起,做了几个类型题目之后,再慢慢做中等题目、困难题目。

刷题技巧
1

建议刷题的时候分成四轮来刷,不用想着第一次就把单个分类的全部刷完。

第一轮:
按照 数学 > 数组 > 链表 > 字符串 > 哈希表 > 双指针 > 递归 >栈 >队列 的顺序,主要刷:难度简单,通过率在 50%以上的题目。

第二轮:
按照 数学 > 数组 > 链表 > 字符串 > 哈希表 > 双指针 > 递归 >栈 >队列的顺序,主要刷:难度中等,通过率在50%以上的题目

第三轮:
先不要急着刷题,建议找个视频,把相关算法理论看一遍,比如:什么是分治,什么是贪心,什么是动态规划,什么是二叉搜索树,什么是图等概念。
再把树 > 图与回溯算法 >贪心 >动态规划这些刷一遍,刷的时候还是刷简单或者中通过率 50%以上的题目

第四轮:
第四轮就比较难了,可以刷剩余困难的,还有以前没刷的,通过率低于 40%的题目。但是这一轮会非常的难,难以坚持下去。

1

(1)首先,复习数据结构与算法基础知识,形成完整的算法知识体系,最基本的数据结构,例如链表,队列,栈,二叉树等至少要先熟练掌握;
(2)接着刷LeetCode前100题,前100题是最为常见的题目,据说刷算法题0-100题是第一道坎,100-300题是第二道坎,那么度过第一道坎就可以让我们对算法题目有基本的认识,慢慢找到做题的感觉和思路,并拥有一定的做题能力,可以按照链表/二叉树/递归等这些标签来刷;
(3)然后就是算法能力提升阶段,要根据专题进行专项训练,掌握不同的解决问题的方法,并能够针对具体类别的问题产生相应的解题思路,可以参考下边专项刷题路线资料分享;
(4)最后就是进一步提高阶段,可以采用乱序刷题的方式,可以刷各种面经和高频题,推荐书籍《剑指offer》,这一阶段重在锻炼在面对不同问题的时候,能够选择最为合适的数据结构和算法,进一步加深对于算法的理解,同时拓展常用的算法思想,建立自己的理解。同时学习各种各样的解题技巧和思路,也要学习相关的数学知识。

三大步骤:

(1)分析题目属于哪一类题目,大概用到什么数据结构算法,是数组、链表、图、树?还是用递归动态规划这些方法。常见的算法题目一般只涉及到这几个方面。
(2)验证分析阶段的思路。注意常见错误:变量名写错,边界条件考虑不周。如果调试阶段超过写代码的30%时间,说明思考过程,方案设计很有问题。先反思分析设计方案除了什么错误,思考的不够系统吗?不要一边写,一边改方案,这样效率太低,而且你会逐渐适应低效率的节奏,这个负面影响太大。
(3)作总结,总结很重要。如果没做出来,反思什么阶段犯了错误。如果做出来了,思考解题的关键点是什么,总结题目特点,一定要总结这个题目属于哪一种类型,这个题目在这个类型中特点是什么,和其他这个类型的其他题目区别在哪里。只有经过总结,做过的题目才会真正进入你解题思维的一部分,解题能力的一部分。

借鉴书籍和博客

LeetCode 101 - A Grinding Guide.pdf
《算法(第4版)》
《STL源码剖析》
代码随想录
LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台
题单广场 - 洛谷 | 计算机科学教育新生态
能力全面提升综合题单 - 题单 - 洛谷 | 计算机科学教育新生态(较难)

推荐的博客作者有:
负雪明烛:5 年在 CSDN 上更新了 800多道题解,收获 160万 阅读。在中文力扣日更题解。
李威威:中文力扣的大 V,对力扣题目掌握很全面,写得题解非常详细,对题目举一反三。
花花酱:基本每个题都有博客和视频,强烈推荐看他的视频。
Grandyang:在博客园更新了几乎所有力扣题目,收获了 1200万 阅读。

题号

数学相关算法题
2469、2235、2413、2160、2520、1688、1281、2427、728、2119、509、70、
372、7、479、564、231、342、326、504、263、190、191、476、461、477、50、:693、393、172、458、258、319、405、171、168、670、233、357、400

数组相关算法题
2011、1929、1720、2574、1cp01、lcp06、1365、1732、1464、2496、1979、485、495、414、628、645、697、448、442、41、274、453、665、283、118、119、661、598、419、189、396、54、59、498、566、48、73、289、303、304、238

三,链表相关算法题
206、203、237、19、430、61、24、、92、25、2、445、21、23

四,字符串
520、125、14、34、58、344、541、557、151、387、389、383、242、49、451、3、、8…13、22、293、3、不8、32、824、号2、83、86、 7、218. 43、 306423、657、551、696、482、6、68、28、686、459、214、5、647

五,哈希表
633、349、128、202、500、290、532、205、166、466、138、1、167、599、219.217、220350、554、609、454、18、560、523、525、594、

六,双指针
345、680、167、15、16、18、11、42、27、26、80、83、82、611、187643、674、209、3、438、567、424、76、30、86、328、160、88、475、141、142、143234、457、287

七,递归
682、71、388、150、227、224、20、636、591、32

九,队列
933、1700、232、225、2073、387

十,树
100、222、101、226、437、563、617、508、572、543、654、687、87102、429、690、559、662、671、513、515、637、103、107、257、623、653、104、111、112、113、129、404、199、655、116、117、144、589、606、331、652、297、449
145、590、94、700、530、538、230、98、173、669、450、110、95、108、109、105、106114、235、236、501、99、558、427

十一,图与回溯算法

565、17、397、526、401、36、37、51、52、77、39、216、40、46、47、31、556、60、491、78、90、79、93、332
241、282、679、22、301、488、133、200、695、463、542、130、417、529、127、126433、675
547、684、685、399、207、210、65、468

十二,贪心
605、121、122、561、455、575、135、409、621、179、56、57、228、452、435、646、406、
48、169、215、75、324、517、649、678、420、53、134、581、152、334、376、659、 343496、503、456、316、402、321、84、85

十三,动态规划
509、70、338、45、55、198、213、650、91、639、552、123、188、309、32、264、313、403
689、413、446、368、416、279、322、518、474、494、377、62、63、64、120、576、688、221、629、174、96、329、583、72、97、115、516、132、131、139、140、514、10、44
464、691、698、638、473、486、664、375、312、546、337、124、233、600

刷完 900 多道算法题的首次总结:LeetCode 应该怎么刷?_leetcode刷题-CSDN博客

算法刷题路线总结与相关资料分享_刷题算法学习流程-CSDN博客

【LeetCode】力扣刷题攻略路线推荐!适合新手小白入门~(含各类题目序号)_力扣刷题顺序-CSDN博客

【LeetCode】代码模板,刷题必会_leetcode 代码模版-CSDN博客

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

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

相关文章

红黑树():

1. 红黑树: 红黑树从根节点开始的最长的路径不会超过最短路径的2倍。 红黑树的话,他的结点的分布没有我们的AVL树的结点的分布均衡,但是效率也不错,AVL树的结点分布的那么均匀,其实也是在进行了旋转,付出了…

【AI智能推荐系统】第六篇:隐私保护与联邦学习在推荐系统中的平衡之道

第六篇:隐私保护与联邦学习在推荐系统中的平衡之道 提示语:🔥 “数据不出域,推荐更精准!深度揭秘腾讯、蚂蚁集团如何用联邦学习打造合规推荐系统,隐私计算技术全景解析与工业级实现方案!” 目录 隐私保护的行业挑战隐私计算技术体系 2.1 联邦学习基础架构2.2 差分隐私…

【Qt/C++】深入理解 Lambda 表达式与 `mutable` 关键字的使用

【Qt/C】深入理解 Lambda 表达式与 mutable 关键字的使用 在 Qt 开发中,我们常常会用到 lambda 表达式来编写简洁的槽函数。今天通过一个实际代码示例,详细讲解 lambda 的语法、变量捕获方式,特别是 mutable 的作用。 示例代码 QPushButto…

记录 ubuntu 安装中文语言出现 software database is broken

搜索出来的结果是 sudo apt-get install language-pack-zh-han* 然而,无效,最后手动安装如下 apt install language-pack-zh-hans apt install language-pack-zh-hans-base apt install language-pack-gnome-zh-hans apt install fonts-arphic-uming apt install libreoffic…

[虚幻官方教程学习笔记]深入理解实时渲染(An In-Depth Look at Real-Time Rendering)

原英文教程地址深入理解实时渲染(An In-Depth Look at Real-Time Rendering) 文章目录 1.Intro to An In-Depth Look at Real-Time RenderingCPU VS GPUDeferred VS Forward 2. Before Rendering and OcclusionCulling计算的步骤使用console command:fre…

Linux进程间信号

目录 信号入门 生活角度中的信号 技术应用角度的信号 信号的发送与记录 信号处理常见方式概述 产生信号 通过终端按键产生 通过系统函数向进程发信号 由软件条件产生信号 由硬件异常产生信号 阻塞信号 信号其他相关常见概念 在内核中的表示 sigset_t 信号集操作…

Git简介和发展

Git 简介 Git是一个开源的分布式版本控制系统,跨平台,支持Windows、Linux、MacOS。主要是用于项目的版本管理,是由林纳斯托瓦兹(Linux Torvalds)在2005年为Linux内核开发而创建。 起因 在2002年至2005年间,Linux内核开发团队使…

Perspective,数据可视化的超级引擎!

Perspective 是一个强大的交互式数据分析和可视化库,它允许你创建高度可配置的报告、仪表板、笔记本和应用程序。给用户提供了一个新的视角来看待数据。 Stars 数9125Forks 数1217 主要特点 高效流式查询引擎:Perspective使用C编写,并编译为…

MySQL COUNT(*) 查询优化详解!

目录 前言1. COUNT(*) 为什么慢?—— InnoDB 的“计数烦恼” 🤔2. MySQL 执行 COUNT(*) 的方式 (InnoDB)3. COUNT(*) 优化策略:快!准!狠!策略一:利用索引优化带 WHERE 子句的 COUNT(*) (最常见且…

如何在postman使用时间戳

1. 使用 Pre-request Script 动态转换​ 在发送请求前,将日期字符串转为时间戳并存储为环境变量/全局变量。 ​示例代码​ // 将日期字符串(如 "2023-10-01")转为时间戳(毫秒) const dateString "2…

嵌入式学习笔记 - 运算放大器的共模抑制比

一 定义 共模抑制比(Common Mode Rejection Ratio, ‌CMRR‌)是衡量差分放大器(或差分电路)抑制共模信号能力的关键指标。它在电子工程中尤为重要,特别是在需要处理微弱信号或对抗环境噪声的场景中。 核心概念 ‌共…

成龙电影中的三菱汽车

帕杰罗、 Lancer Evolution、 3000GT Mitsubishi Lancer Evo ll 1995 附录 Mercedes-Benz 280SL(W113),俗称“Pagoda”(帕格达)

Spring 项目无法连接 MySQL:Nacos 配置误区排查与解决

在开发过程中,我们使用 Nacos 来管理 Spring Boot 项目的配置,其中包括数据库连接配置。然而,在实际操作中,由于一些概念的混淆,我们遇到了一些连接问题。本文将分享我的故障排查过程,帮助大家避免类似的错…

LabVIEW与 IMAQ Vision 机器视觉应用

在工业生产及诸多领域,精确高效的检测至关重要。基于 LabVIEW 与 IMAQ Vision 的机器视觉应用,深入剖析其原理、系统构成、软件设计及优势,为相关领域工程师提供全面技术参考。 ​ 一、技术原理 (一)机器视觉技术基础…

【STM32 学习笔记】USART串口

注意:在串口助手的接收模式中有文本模式和HEX模式两种模式,那么它们有什么区别?   文本模式和Hex模式是两种不同的文件编辑或浏览模式,不是完全相同的概念。文本模式通常是指以ASCII编码格式表示文本文件的编辑或浏览模式。在文…

【WPS】怎么解决“word的复制表格”粘贴到“excel的单元格”变多行单元格的问题

把 word文档复制表格到这个excel表格上面的话,会出现由单个单元格变成多行单元格的情况。 现在,就这个问题怎么解决,提出了一个方案,就是先查找是什么导致了这个换行,然后再将换行的这个字符进行一个整体的替换&#x…

嵌入式开发面试题详解:STM32 与嵌入式开发核心知识全面解析

一、STM32 共有几种基本时钟信号? 题目 STM32 共有几种基本时钟信号? 解答 STM32 包含 4 种基本时钟信号,分别为 HSI(内部高速时钟)、HSE(外部高速时钟)、LSI(内部低速时钟&…

华为策略路由

路由策略:是对路由条目进行控制,通告控制路由条目影响报文的转发路径。路由策略为控制平面。 策略路由:是根据报文特征,认为的控制报文从某个即可转发出去,不修改路由表。即策略路由为在转发平面。 路由策略 策略路由…

# YOLOv3:深度学习中的目标检测利器

YOLOv3:深度学习中的目标检测利器 引言 在计算机视觉领域,目标检测是一项核心任务,它涉及到识别图像或视频中的物体,并确定它们的位置。随着深度学习技术的快速发展,目标检测算法也在不断进步。YOLO(You …

红黑树删除的实现与四种情况的证明

🧭 学习重点 删除节点的三种情况红黑树如何恢复性质四种修复情况完整可运行的 C 实现 一、红黑树删除的基础理解 红黑树删除比插入复杂得多,因为: 删除的是黑节点可能会破坏“从根到叶子黑节点数相等”的性质。删除红节点无需修复&#xf…