- 博客(26)
- 收藏
- 关注
原创 【滑动窗口】| 力扣高频题: 长度最小的数组
本道题是滑动窗口的一道经典应用问题:找出数组中长度最小的子数组。滑动窗口优化思路:利用滑动窗口来优化暴力枚举思路。
2024-09-06 08:15:00 436 1
原创 【栈】| 力扣高频题: 基本计算器二
本道题是 栈 的经典应用问题:表达式求值问题, 我们依旧是采取栈 + 分类讨论的方式。解决思路:利用栈来模拟计算过程,中间用到分类讨论
2024-08-30 17:20:06 631
原创 【栈】| 力扣高频题: 有效的括号
本期介绍一下栈的经典应用问题: 括号匹配, 想到用栈的话解决起来就很简单, 栈还经常用于解决求表示式的值的问题。栈的解决思路通常都涉及到分类讨论, 本题和后面将要介绍的表达式求值都是要进行分情况讨论的
2024-08-27 08:00:00 733
原创 【贪心】两个字符串之间的最短距离
一类题的解题思路, 根据暴力枚举进行优化, 贪心预处理的方式, 用两个指针来记录之前出现的位置, 这样只需一遍即可找到最短距离
2024-08-24 08:45:00 675
原创 【数据库】 | MySQL索引与事务
索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部失败。在不同的环境中,都可以有事务。对应在数据库中,就是数据库事务。
2024-08-14 08:00:00 985
原创 【消息队列】RabbitMQ 面试篇
当一个消息变成死信之后,就会被丢到一个特定的交换机中,这个交换机就是死信交换机,与死信交换机绑定的队列就是死信队列。消息是一个过期消息,无人消费要投递的队列满了,无法投递,这个消息也会变成死信消费者使用basic.reject或 basic.nack声明消费失败,并且消息的requeue参数设置为false延迟队列指的是存储对应的延迟消息,消息被发送以后,并不想让消费者立刻拿到消息,而是等待特定时间后,消费者才能拿到这个消息进行消费。利用死信交换机和TTL(消息存活时间)实现的。
2024-08-05 08:00:00 715
原创 【归并排序】| 详解归并排序 力扣912
主要介绍了归并排序的核心代码,详解整体的实现流程和过程,归并排序还是十分重要的,面试和笔试都会很常见。
2024-06-20 07:45:00 1444
原创 【归并排序】| 详解归并排序核心代码之合并两个有序数组 力扣88
主要介绍了归并排序的核心代码实现合并两个有序数组,具体的详解整体实现流程和过程。
2024-06-16 18:00:00 1815
原创 【动态规划】| 详解路径问题之地下城游戏 力扣174 (困难题)
动态规划中的经典问题之路径问题,本题和前几道题有很大差异,体现在初始化,状态表示等五个方面都是反过来的,本文从五个方面进行解析这个题目,分析算法原理以及最后的代码编写
2024-06-14 19:30:00 1743
原创 【动态规划】| 路径问题之最小路径和 力扣64
动态规划中的经典问题之路径问题,本题和前两道题有一定差异,体现在初始化方面,本文从五个方面进行解析这个题目,分析算法原理以及最后的代码编写,
2024-06-13 19:30:00 1172 1
原创 【动态规划】| 路径问题之不同路径II 力扣63
动态规划中的经典问题之路径问题, 我们从五个方面进行解析这个题目, 分析算法原理以及最后的代码编写
2024-06-12 18:00:00 797
原创 【MySQL数据库】| 索引以及背后的数据结构
B+树对于哈希表来说,可以处理模糊匹配的场景;B+树对于二叉搜索树来说,深度更低,查找效率更高;B+树对于B树来说,B树只适合随机检索,而B+树同时支持随机检索和顺序检索;单一节点可以储存更多的数据,降低查询的IO次数;所有的查询都需要查找到叶子结点,使得查询性能更稳定;兄弟节点之间相连形成有序链表,便于范围内查找,增删效率也更高;
2023-11-10 07:30:00 282 8
原创 【网络原理】| 应用层协议与传输层协议 (UDP)
UDP的特点无连接知道对端的 ip 和 端口号就可以进行通信,不需要建立连接不可靠没有任何的安全机制,即是 发送端发送数据报之后,如果因为某些原因,接收端没有收到来自发送端的数据,UDP协议层也不会给发送端返回任何的错误提示信息面向数据报应用层交给UDP多长的报文,UDP原样发送,既不会拆分,也不会合并全双工UDP只有接收缓冲区,没有发送缓存区
2023-10-24 18:15:30 847 10
原创 【软件测试】| 软件测试 - 答疑篇
最常见的理解是:软件测试就是找BUG,发现缺陷。软件测试就是验证软件产品特性是否满足用户的需求。测试试图验证软件是“工作的”,也就是验证软件功能执行的正确性测试的活动是以测试人员“预期的结果”为依据,这里的“预期结果”指的是需求定义。软件测试只是一个样本试验,具有不可穷尽性。
2023-05-08 12:20:20 1168 34
原创 【数据库】 | 初识数据库
存储数据用文件就可以了,为什么还要弄个数据库?文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便磁盘内存为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。
2023-04-09 19:17:53 359 34
原创 【数据结构】 | java中 哈希表及其冲突解决
顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O(LogN), 搜索的效率取决于搜索过程中元素的比较次数。理想的搜索方法:可以不经过任何比较,一次直接从表中得到要搜索的元素。 如果构造一种存储结构,通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立一一映射的关系,那么在查找时通过该函数可以很快找到该元素。
2023-03-22 15:39:15 2020 64
原创 【数据结构】 | 七大排序讲解 + 动图代码详解
排序: 排序就是使一串记录的数据,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序的稳定性: 假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。通俗来讲就是相同数据在排序前后的相对位置不发生变化。
2023-03-08 13:35:13 419 32
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人