我的力扣刷题顺序(参考代码回忆录)

2023-10-10 16:10

本文主要是介绍我的力扣刷题顺序(参考代码回忆录),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数组

  1. 数组过于简单,但你该了解这些!
  2. 数组:二分查找
  3. 数组:移除元素
  4. 数组:序数组的平方
  5. 数组:长度最小的子数组
  6. 数组:螺旋矩阵II
  7. 数组:总结篇

链表

  1. 关于链表,你该了解这些!
  2. 链表:移除链表元素
  3. 链表:设计链表
  4. 链表:翻转链表
  5. 链表:两两交换链表中的节点
  6. 链表:删除链表的倒数第 N 个结点
  7. 链表:链表相交
  8. 链表:环形链表
  9. 链表:总结篇!

哈希表

  1. 关于哈希表,你该了解这些!
  2. 哈希表:有效的字母异位词
  3. 哈希表:查找常用字符
  4. 哈希表:两个数组的交集
  5. 哈希表:快乐数
  6. 哈希表:两数之和
  7. 哈希表:四数相加II
  8. 哈希表:赎金信
  9. 哈希表:三数之和
  10. 双指针法:四数之和
  11. 哈希表:总结篇!

字符串

  1. 字符串:反转字符串
  2. 字符串:反转字符串II
  3. 字符串:替换空格
  4. 字符串:翻转字符串里的单词
  5. 字符串:左旋转字符串
  6. 帮你把KMP算法学个通透
  7. 字符串:重复的子字符串
  8. 字符串:总结篇!

双指针法

双指针法基本都是应用在数组,字符串与链表的题目上

  1. 数组:移除元素
  2. 字符串:反转字符串
  3. 字符串:替换空格
  4. 字符串:翻转字符串里的单词
  5. 链表:翻转链表
  6. 链表:删除链表的倒数第 N 个结点
  7. 链表:链表相交
  8. 链表:环形链表
  9. 双指针:三数之和
  10. 双指针:四数之和
  11. 双指针:总结篇!

栈与队列

  1. 栈与队列:来看看栈和队列不为人知的一面
  2. 栈与队列:用栈实现队列
  3. 栈与队列:用队列实现栈
  4. 栈与队列:有效的括号
  5. 栈与队列:删除字符串中的所有相邻重复项
  6. 栈与队列:逆波兰表达式求值
  7. 栈与队列:滑动窗口最大值
  8. 栈与队列:前K个高频元素
  9. 栈与队列:总结篇!

二叉树

题目分类大纲如下:

 

  1. 关于二叉树,你该了解这些!
  2. 二叉树:二叉树的递归遍历
  3. 二叉树:二叉树的迭代遍历
  4. 二叉树:二叉树的统一迭代法
  5. 二叉树:二叉树的层序遍历
  6. 二叉树:翻转二叉树
  7. 本周小结!(二叉树)
  8. 二叉树:对称二叉树
  9. 二叉树:二叉树的最大深度
  10. 二叉树:二叉树的最小深度
  11. 二叉树:完全二叉树的节点个数
  12. 二叉树:平衡二叉树
  13. 二叉树:二叉树的所有路径
  14. 本周总结!二叉树系列二
  15. 二叉树:二叉树中递归带着回溯
  16. 二叉树:左叶子之和
  17. 二叉树:找树左下角的值
  18. 二叉树:路径总和
  19. 二叉树:构造二叉树
  20. 二叉树:最大二叉树
  21. 本周小结!(二叉树系列三)
  22. 二叉树:合并两个二叉树
  23. 二叉树:二叉搜索树登场!
  24. 二叉树:验证二叉搜索树
  25. 二叉树:搜索树的最小绝对差
  26. 二叉树:二叉搜索树中的众数
  27. 二叉树:公共祖先问题
  28. 本周小结!(二叉树系列四)
  29. 二叉树:搜索树的最近公共祖先
  30. 二叉树:搜索树中的插入操作
  31. 二叉树:搜索树中的删除操作
  32. 二叉树:修剪一棵搜索树
  33. 二叉树:构造一棵搜索树
  34. 二叉树:搜索树转成累加树
  35. 二叉树:总结篇!(需要掌握的二叉树技能都在这里了)

回溯算法

题目分类大纲如下:

  1. 关于回溯算法,你该了解这些!
  2. 回溯算法:组合问题
  3. 回溯算法:组合问题再剪剪枝
  4. 回溯算法:求组合总和!
  5. 回溯算法:电话号码的字母组合
  6. 本周小结!(回溯算法系列一)
  7. 回溯算法:求组合总和(二)
  8. 回溯算法:求组合总和(三)
  9. 回溯算法:分割回文串
  10. 回溯算法:复原IP地址
  11. 回溯算法:求子集问题!
  12. 本周小结!(回溯算法系列二)
  13. 回溯算法:求子集问题(二)
  14. 回溯算法:递增子序列
  15. 回溯算法:排列问题!
  16. 回溯算法:排列问题(二)
  17. 本周小结!(回溯算法系列三)
  18. 回溯算法去重问题的另一种写法
  19. 回溯算法:重新安排行程
  20. 回溯算法:N皇后问题
  21. 回溯算法:解数独
  22. 一篇总结带你彻底搞透回溯算法!

贪心算法

题目分类大纲如下:

 

  1. 关于贪心算法,你该了解这些!
  2. 贪心算法:分发饼干
  3. 贪心算法:摆动序列
  4. 贪心算法:最大子序和
  5. 本周小结!(贪心算法系列一)
  6. 贪心算法:买卖股票的最佳时机II
  7. 贪心算法:跳跃游戏
  8. 贪心算法:跳跃游戏II
  9. 贪心算法:K次取反后最大化的数组和
  10. 本周小结!(贪心算法系列二)
  11. 贪心算法:加油站
  12. 贪心算法:分发糖果
  13. 贪心算法:柠檬水找零
  14. 贪心算法:根据身高重建队列
  15. 本周小结!(贪心算法系列三)
  16. 贪心算法:根据身高重建队列(续集)
  17. 贪心算法:用最少数量的箭引爆气球
  18. 贪心算法:无重叠区间
  19. 贪心算法:划分字母区间
  20. 贪心算法:合并区间
  21. 本周小结!(贪心算法系列四)
  22. 贪心算法:单调递增的数字
  23. 贪心算法:买卖股票的最佳时机含手续费
  24. 贪心算法:我要监控二叉树!
  25. 贪心算法:总结篇!(每逢总结必经典)

动态规划

  1. 关于动态规划,你该了解这些!
  2. 动态规划:斐波那契数
  3. 动态规划:爬楼梯
  4. 动态规划:使用最小花费爬楼梯
  5. 本周小结!(动态规划系列一)
  6. 动态规划:不同路径
  7. 动态规划:不同路径还不够,要有障碍!
  8. 动态规划:整数拆分,你要怎么拆?
  9. 动态规划:不同的二叉搜索树
  10. 本周小结!(动态规划系列二)

背包问题系列:

 

 

  1. 动态规划:关于01背包问题,你该了解这些!
  2. 动态规划:关于01背包问题,你该了解这些!(滚动数组)
  3. 动态规划:分割等和子集可以用01背包!
  4. 动态规划:最后一块石头的重量 II
  5. 本周小结!(动态规划系列三)
  6. 动态规划:目标和!
  7. 动态规划:一和零!
  8. 动态规划:关于完全背包,你该了解这些!
  9. 动态规划:给你一些零钱,你要怎么凑?
  10. 本周小结!(动态规划系列四)
  11. 动态规划:Carl称它为排列总和!
  12. 动态规划:以前我没得选,现在我选择再爬一次!
  13. 动态规划: 给我个机会,我再兑换一次零钱
  14. 动态规划:一样的套路,再求一次完全平方数
  15. 本周小结!(动态规划系列五)
  16. 动态规划:单词拆分
  17. 动态规划:关于多重背包,你该了解这些!
  18. 听说背包问题很难? 这篇总结篇来拯救你了

打家劫舍系列:

  1. 动态规划:开始打家劫舍!
  2. 动态规划:继续打家劫舍!
  3. 动态规划:还要打家劫舍!

股票系列:

 

  1. 动态规划:买卖股票的最佳时机
  2. 动态规划:本周我们都讲了这些(系列六)
  3. 动态规划:买卖股票的最佳时机II
  4. 动态规划:买卖股票的最佳时机III
  5. 动态规划:买卖股票的最佳时机IV
  6. 动态规划:最佳买卖股票时机含冷冻期
  7. 动态规划:本周我们都讲了这些(系列七)
  8. 动态规划:买卖股票的最佳时机含手续费
  9. 动态规划:股票系列总结篇

子序列系列:

  1. 动态规划:最长递增子序列
  2. 动态规划:最长连续递增序列
  3. 动态规划:最长重复子数组
  4. 动态规划:最长公共子序列
  5. 动态规划:不相交的线
  6. 动态规划:最大子序和
  7. 动态规划:判断子序列
  8. 动态规划:不同的子序列
  9. 动态规划:两个字符串的删除操作
  10. 动态规划:编辑距离
  11. 为了绝杀编辑距离,Carl做了三步铺垫,你都知道么?
  12. 动态规划:回文子串
  13. 动态规划:最长回文子序列
  14. 动态规划总结篇

单调栈

  1. 单调栈:每日温度
  2. 单调栈:下一个更大元素I
  3. 单调栈:下一个更大元素II
  4. 单调栈:接雨水
  5. 单调栈:柱状图中最大的矩形

-------------------------------------------------------------------------------------------------------------------------------- 

补充题目

以上题目是重中之重,大家至少要刷两遍以上才能彻底理解,如果熟练以上题目之后还在找其他题目练手,可以再刷以下题目:

这些题目很不错,但有的题目是和刷题攻略类似的,有的题解后面还会适当补充,所以我还没有将其纳入到刷题攻略。一些题解等日后我完善一下,再纳入到刷题攻略。

数组

  • 1365.有多少小于当前数字的数字
  • 941.有效的山脉数组 (双指针)
  • 1207.独一无二的出现次数 数组在哈希法中的经典应用
  • 283.移动零 【数组】【双指针】
  • 189.旋转数组
  • 724.寻找数组的中心索引
  • 34.在排序数组中查找元素的第一个和最后一个位置 (二分法)
  • 922.按奇偶排序数组II
  • 35.搜索插入位置

链表

  • 24.两两交换链表中的节点
  • 234.回文链表
  • 143.重排链表【数组】【双向队列】【直接操作链表】
  • 141.环形链表
  • 160.相交链表

哈希表

  • 205.同构字符串:【哈希表的应用】

字符串

  • 925.长按键入 模拟匹配
  • 0844.比较含退格的字符串【栈模拟】【空间更优的双指针】

二叉树

  • 129.求根到叶子节点数字之和
  • 1382.将二叉搜索树变平衡 构造平衡二叉搜索树
  • 100.相同的树 同101.对称二叉树 一个思路
  • 116.填充每个节点的下一个右侧节点指针

回溯算法

  • 52.N皇后II

贪心

  • 649.Dota2参议院 有难度
  • 1221.分割平衡字符 简单贪心

动态规划

  • 5.最长回文子串 和647.回文子串 差不多是一样的
  • 132.分割回文串II 与647.回文子串和 5.最长回文子串 很像
  • 673.最长递增子序列的个数

图论

  • 463.岛屿的周长 (模拟)
  • 841.钥匙和房间 【有向图】dfs,bfs都可以
  • 127.单词接龙 广搜

并查集

  • 684.冗余连接 【并查集基础题目】
  • 685.冗余连接II【并查集的应用】

模拟

  • 657.机器人能否返回原点
  • 31.下一个排列

位运算

  • 1356.根据数字二进制下1的数目排序

算法模板

各类基础算法模板

 

这篇关于我的力扣刷题顺序(参考代码回忆录)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/181561

相关文章

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

Python如何去除图片干扰代码示例

《Python如何去除图片干扰代码示例》图片降噪是一个广泛应用于图像处理的技术,可以提高图像质量和相关应用的效果,:本文主要介绍Python如何去除图片干扰的相关资料,文中通过代码介绍的非常详细,... 目录一、噪声去除1. 高斯噪声(像素值正态分布扰动)2. 椒盐噪声(随机黑白像素点)3. 复杂噪声(如伪

Java Spring ApplicationEvent 代码示例解析

《JavaSpringApplicationEvent代码示例解析》本文解析了Spring事件机制,涵盖核心概念(发布-订阅/观察者模式)、代码实现(事件定义、发布、监听)及高级应用(异步处理、... 目录一、Spring 事件机制核心概念1. 事件驱动架构模型2. 核心组件二、代码示例解析1. 事件定义