- 博客(139)
- 收藏
- 关注
原创 Roller: 抽奖系统测试的幕后剧本-测试报告
该项目是一个操作简便、安全可靠的抽奖系统。主要业务是抽奖,并支持管理员管理用户、奖品和抽奖活动,以配置抽奖内容。抽奖操作由管理员进行,支持依次抽取配置好的奖品和人数,并保证每人最多中一次奖。系统对异常情况进行了处理,并对中奖人发送短信和邮件通知。项目采用了分层分模块设计,技术栈包括 Spring Boot3、JDK 17、MySQL、MyBatis、Redis、RabbitMQ、SLF4J + logback 等。
2025-06-01 20:20:32
885
原创 Spring Boot 中 @RequestParam 和 @RequestPart 的区别详解(含实际项目案例)
比较点适用请求类型适用参数类型简单类型(字符串、文件、数字)复杂类型(JSON 对象、多个文件、嵌套结构)JSON 自动转换❌ 不支持✅ 支持(通过 HttpMessageConverter)常见使用场景普通表单提交、单文件上传JSON + 文件上传、富表单场景理解和的使用场景,能够帮助我们在设计接口时做出更合适的技术选择,也能避免参数绑定错误、JSON 转换失败等常见问题。✍️ 作者:Lvzi📅 时间:2025年。
2025-05-30 17:30:15
1112
原创 事务详解及面试常考知识点整理
比如你和室友一起做饭,只有一个炉灶,就得排队做(串行);但如果有两个灶,就能同时炒菜(并发)。数据库中的并发执行可以提升处理效率,但也容易引发问题。下面是三大经典并发问题,每一个问题都有对应的隔离级别来解决。事务本质上是为了解决数据一致性与并发效率之间的矛盾。若业务要求强一致性(如转账、库存),优先选择高隔离级别;事务四大特性(ACID)三大并发问题(脏读、不可重复读、幻读)四种隔离级别及其对应能力MySQL 默认的隔离级别如需更深入地学习事务的原理与实现,如。
2025-05-27 08:52:21
744
原创 算法系列--分治排序|归并排序|逆序对的求解
归并排序和快速排序的区别在于排序的时机不同,归并排序是等到分解完毕之后在进行排序,快速排序是先进行分解,再排序;更形象的说,归并排序更像二叉树的后序遍历,遍历完左右子树再打印根节点;快速排序反之合并两个有序列表。
2024-07-07 11:07:39
828
原创 Java中String,StringBuilder,StringBuffer的区别
当然可以,我们可以通过面试问答的形式来探讨String和的区别。
2024-06-30 14:02:02
360
原创 前缀和算法系列|概念讲解|应用场景|大量例题讲解
一维前缀和就是一个简单的dp问题链接:一维前缀和(模版题)代码:2.二维前缀和同理,二位前缀和是一个简单的二维dp问题,难点在于dp表的状态转移方程和如何使用,需要进行推导链接:二维前缀和代码:3.使用条件前缀和算法是一种高效解决数组区间求和问题的技巧。它通过预处理数组,构建一个前缀和数组,。以下是一些你必须要掌握的核心概念和步骤:前缀和数组定义:构建前缀和数组:区间和的计算:理解并构建前缀和数组:使用前缀和数组进行区间求和:优化特定问题:01.寻找数组的中间下标链接:https://
2024-06-27 09:19:00
1070
原创 贪心算法系列(二)|摆动序列最长递增子序列|买卖股票的最佳时机|买卖股票的最佳时机II
后面两种情况从宏观角度来看是存在波峰和波谷的,所有相同的点(平直部分)其实可以当作一个点,所以如果遇到。每次都假定今天卖出,那么就需要知道今天之前的最小值,这样才能获得当天的最大利润,,如果小于,就能构成一个新的,更长的递增子序列,取所有情况中的最大值。位置的元素时,我们只关心i位置之前的。,这样遍历一遍数组就能得到最大利润。即可,无需关注序列本身的组成,观察dp的思路不难发现,如果趋势是平的怎么处理。的解题思路中,当走到。所有的今天构成了每天。
2024-06-24 17:38:36
480
原创 二分查找算法系列|朴素二分查找|查找左/右端点的二分查找|例题详解
二分查找算法是时间复杂度为O(logN)的搜索算法,常用于处理在有序数组中查找元素。
2024-06-11 18:52:00
961
1
原创 数学题目系列(一)|丑数|各位和|埃氏筛|欧拉筛|位运算判断奇偶
三种算法的时间复杂度对比(数据量大)对比实验:求2-n之间所有的质数。暴力解法(无法通过所有样例)
2024-06-06 21:29:45
817
原创 算法系列--BFS解决拓扑排序
💕"请努力活下去"💕作者:Lvzi文章主要内容:算法系列–算法系列–BFS解决拓扑排序大家好,今天为大家带来的是什么是拓扑排序拓扑排序–解决有顺序的排序问题(要做事情的先后顺序)建立一个有向图来表示做事情的先后顺序如何建图–灵活使用语言提供的容器要存储的是:一个节点与其所相连的节点(边),两点构成一条线段–哈希表存储我们是根据入度是否为0来决定先后顺序的一个节点的入度就是有多少个指向该节点的边使用数组int[] in表示将所有入度为0的节点添加进队列循环队列t。
2024-05-02 17:44:59
1357
原创 宽度优先遍历--边权为1的最短路问题
最短路问题是图论中非常经典的一种问题,其实就是通过代码找到两点之间的最优路径(往往是距离最短),最短路问题的解法很多,比如A*算法,迪杰斯特拉算法等等,本文介绍最短路问题中最简单的一种边权为1的最短路问题所谓的边权,就是指两个地点之间的距离为1(如下图所示)很明显,实际情况的道路更加复杂,两个地点之间的距离不能全是1,所以边权为1的最短路问题是比较特殊,简单的最短路问题要记录整个过程的最短路,可以通过bfs来解决,选定一个地点,以这个地点为中心向外扩展(因为一个地点连接着很多的地点)
2024-04-28 11:18:57
785
1
原创 Java算法必备之快读
在Java中,输入通常是使用Scanner,输出使用System.out,先说输入。第二行代码就是完成上述的改进工作,将字节流转化为字符流,同时使用带有缓冲区的字符流。实现字符串裁剪,根据空格裁剪依次得到一行中所有数据。快读和快写类的用法和之前的输入输出类的用法一致。在一些算法题中,由于数据量过大,可能会出现。进行读取的,一行中可能包含多个数据,通过。快写的实现思路和快读相同。
2024-04-21 17:46:05
307
原创 算法系列--递归,回溯,剪枝的综合应用(3)
💕"对相爱的人来说,对方的心意,才是最好的房子。"💕作者:Lvzi文章主要内容:算法系列–递归,回溯,剪枝的综合应用(3)大家好,今天为大家带来的是,带来几个比较经典的问题N皇后和解数独,这两道都是hard级别的题目,但是不要被吓到!请看我的分析。
2024-04-02 19:41:23
1464
2
原创 动态规划1
初始化是保证填表时不越界,初始化的根据是状态转移方程,对于本题来说,由于方程中出现了i-1,i-2,i-3,所以i不能等于0,1,2,如果等于就发生了越界,所以先进行初始化,把可能发生越界的位置初始化(本题根据题目要求直接进行初始化)填表顺序是为了保证插入状态时所需要的状态已经被计算过,比如在本题中,如果要在下标为4的地方进行插入,需要保证下标为1,2,3对应的状态已经被计算过。对于动态规划的题目来说,前两部是最重要的,找到对应的状态表示和状态转移方程是解决动态规划问题的核心。空间复杂度:O(N)
2024-03-31 16:34:26
319
原创 算法系列--递归,回溯,剪枝的综合应用(1)
💕"对相爱的人来说,对方的心意,才是最好的房子。"💕作者:Lvzi文章主要内容:算法系列–递归,回溯,剪枝的综合应用(1)大家好,今天为大家带来的是。
2024-03-31 13:24:06
1306
原创 算法系列--动态规划--特殊的状态表示--分析重复子问题
💕"轻舟已过万重山!"💕作者:Lvzi文章主要内容:算法系列–算法系列–动态规划–特殊的状态表示–分析重复子问题大家好,今天为大家带来的是。
2024-03-30 18:11:04
589
原创 算法系列--动态规划--背包问题(5)--二维费用背包问题
💕"要平安无事地活下去."💕作者:Lvzi文章主要内容:算法系列–动态规划–背包问题(5)–二维费用背包问题大家好,今天为大家带来的是。
2024-03-30 16:34:36
537
原创 算法系列--动态规划--背包问题(4)--完全背包拓展题目
💕"这种低水平质量的攻击根本就不值得我躲!"💕作者:Lvzi文章主要内容:算法系列–动态规划–背包问题(4)–完全背包拓展题目大家好,今天为大家带来的是。
2024-03-30 15:04:58
1150
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人