- 博客(202)
- 资源 (35)
- 问答 (11)
- 收藏
- 关注
原创 MySQL查询语句返回注意事项:对象类型与Map类型的差异解析
MySQL查询返回类型差异与批量查询优化 摘要:本文分析了MySQL查询中对象类型与Map类型返回结果的差异。对象类型要求严格字段映射,可能导致数据丢失;而Map类型更灵活,自动适配所有字段。解决方案包括配置驼峰转换、使用ResultMap或SQL别名。在批量查询方面,推荐使用IN语句替代循环单查,注意控制IN列表大小(500-800元素/批)、确保索引利用、管理事务和内存。最佳实践包括MyBatis的foreach分页处理和Spring事务管理,以兼顾性能与稳定性。
2025-11-20 22:59:53
298
原创 华为Java专业级科目一通过心得
本文分享了华为Java专业级科目一考试的备考心得。作者强调保持日常Java编程练习的重要性,建议每天编写代码维持手感。备考重点应放在基础算法和数据结构上,适当练习常见算法题,如排序、查找等基础题目。特别要熟练掌握Java中各种数据结构(Stack、Queue、List等)的实际应用,因为考试多为基础模拟题,考察的是基础实现的准确性而非复杂算法。作者认为只要坚持练习、打好基础,考试并不困难。
2025-10-21 23:32:46
619
原创 【Leetcode】11. 盛最多水的容器
该问题要求在给定高度数组中找到两条垂直线,使其与x轴构成的容器能盛最多水。使用双指针法,从数组两端开始向中间移动,每次移动较短的指针以寻找可能的更大面积。时间复杂度为O(n),空间复杂度O(1)。通过数学证明验证了算法的正确性,确保不会错过最优解。代码实现简洁高效,适用于大规模数据。
2025-10-04 16:10:42
646
原创 【Leetcode】869. 重新排序得到 2 的幂
摘要 本题要求判断给定整数n能否通过数字重排成为2的幂。核心思路是比较数字计数签名:预先计算所有可能的2的幂(0到30次方)的数字频率特征,然后检查n的数字频率是否与之匹配。这种方法避免了排列组合,直接通过数字统计特征进行判断,时间复杂度O(1)。关键点在于数字频率签名能唯一确定重排可能性,且自动排除前导零情况。三种语言实现均采用生成数字频率签名并与预存2的幂签名比对的方式,确保高效正确。测试用例验证了各种边界情况,证明该方法的可靠性。
2025-08-10 08:00:00
535
原创 【Leetcode】904. 水果成篮
题目要求从一排果树上采摘水果,最多只能使用两个篮子(每个篮子装一种类型的水果),找到可以采摘的最大连续水果数量。这可以转化为寻找包含最多两种不同元素的最长子数组。 解题思路: 使用滑动窗口(双指针)技术维护一个最多包含两种水果类型的窗口: 用哈希表记录窗口内水果类型及其出现次数。 右指针扩展窗口,添加新水果。 当窗口内水果类型超过两种时,移动左指针缩小窗口,直到类型数≤2。 每次更新窗口时记录最大长度。 代码实现: C++/Java/Python均采用滑动窗口+哈希表,时间复杂度O(N),空间复杂度O(1)
2025-08-04 00:31:41
993
原创 【Leetcode】3. 无重复字符的最长子串
本文介绍了如何解决无重复字符的最长子串问题,给定一个字符串,找出其中不包含重复字符的最长子串长度。通过滑动窗口技术,使用两个指针维护一个无重复字符的窗口,利用哈希集合快速判断重复,实现高效的线性时间复杂度O(N)。算法在遍历时动态调整窗口大小,每个字符最多被访问两次,空间复杂度取决于字符集大小。该方法适用于各种输入情况,包括空字符串,能够正确处理所有边界条件,是解决此类问题的经典方案。
2025-08-03 21:07:35
596
原创 【Leetcode】2106. 摘水果
题目要求在x轴上从起点startPos出发,最多走k步,摘取最大水果数量。核心思路是枚举可能的右侧最远位置R,计算剩余步数下能到达的最左侧距离,通过预计算前缀和数组来高效统计区间水果总量。算法时间复杂度O(N),空间复杂度O(N),适用于大规模数据。代码实现包括C++、Java和Python三种语言,均通过LeetCode测试。该问题考察了区间求和与路径规划的结合能力,通过数学推导优化了枚举策略。
2025-08-03 16:07:37
731
原创 【Leetcode】2561. 重排水果
摘要: 该问题要求通过最小成本交换使两个果篮排序后相同。首先检查水果数量差的奇偶性,若存在奇数差则无法平衡。然后收集需要交换的水果,并利用贪心策略配对:将较小供给与较大需求配对,每次选择直接交换或通过全局最小值中转。时间复杂度为O(n log n),适用于大规模数据。 关键点: 可行性检查:每种水果数量差必须为偶数 贪心配对:升序供给与降序需求配对,取min(a,b)或2*全局最小值 成本优化:确保每次交换选择最小成本方案
2025-08-02 23:53:37
786
原创 【Leetcode】118. 杨辉三角
本文介绍了如何生成杨辉三角的前n行。杨辉三角是一种数学结构,每行的数字是上一行相邻数字之和。算法通过初始化一个二维数组,逐行计算每个元素的值:首尾元素为1,中间元素为上一行相邻元素之和。文章提供了C++、Java和Python的实现代码,时间复杂度为O(n²),空间复杂度为O(n²)。该算法简单高效,适用于处理1到30行范围内的杨辉三角生成。
2025-08-01 16:51:39
938
原创 【Leetcode】2683. 相邻值的按位异或
这道题要求判断是否存在一个二进制数组original,使得derived数组中的每个元素等于original相邻元素的异或结果。关键在于发现数学规律:所有derived元素的异或和必须为0(因为每个original元素在异或计算中出现两次)。特殊情况是当数组长度为1时,derived[0]必须为0。算法只需计算derived数组的异或和,时间复杂度O(n),空间复杂度O(1)。通过数学推导将构造问题转化为简单的异或运算,有效解决了题目。
2025-07-31 22:29:19
456
原创 【Leetcode】3201. 找出有效子序列的最大长度 I
这道题要求找出最长的有效子序列长度,有效子序列满足相邻元素之和的奇偶性相同。通过分析发现,有效子序列只有四种模式:全奇数、全偶数、奇偶交替或偶奇交替。算法思路是分别统计奇偶数个数(全奇/全偶模式),再遍历数组计算奇偶交替模式的最大长度。时间复杂度为O(n),空间复杂度O(1)。示例验证表明该方法正确,如[1,2,3,4]的最长有效子序列长度为4,符合预期。
2025-07-16 08:00:00
987
原创 【MySQL】性能优化实战指南:释放数据库潜能的艺术
《MySQL性能优化实战指南》摘要: 本文系统介绍了MySQL数据库性能优化的核心策略和实战技巧。从硬件资源瓶颈分析到MySQL内部配置优化,详细讲解了内存配置、I/O优化、连接管理等关键参数的设置方法。文章提出了分层存储、动态自适应配置等创新优化方案,并分享了高级优化技巧,包括并行处理、索引优化和查询性能分析。通过监控工具和SQL命令示例,帮助DBA精准定位性能瓶颈,实现数据库性能的显著提升,最终达到优化用户体验、降低硬件成本、提高系统稳定性的目标。文中还包含独特的负载感知配置和自动优化存储过程等实用技术
2025-07-16 07:00:00
1566
原创 正则表达式深度解析:从LeetCode 3136题说起
正则表达式深度解析与性能优化 本文以LeetCode 3136题为例,深入解析正则表达式的高级应用。通过一个有效单词验证问题,展示了如何使用先行断言等高级特性构建复杂匹配模式。文章详细讲解了正则表达式的基本元字符、字符类以及先行断言语法,并提供了Java、Python等语言的实现示例。在性能优化方面,提出了预编译正则表达式、使用非捕获组等实用技巧。最后通过实际应用场景展示了正则表达式在邮箱验证、密码强度检查等方面的强大功能,并分析了正则表达式与传统方法在时间/空间复杂度上的差异。
2025-07-15 16:03:18
1450
原创 【Leetcode】3136. 有效单词
题目要求验证字符串是否为有效单词,条件包括:长度≥3,仅含数字和字母,至少一个元音和一个辅音字母。提供了两种解法: 遍历计数法:检查字符合法性,统计元音和辅音数量,时间复杂度O(n),空间O(1) 正则表达式法:通过单一正则模式验证所有条件,代码更简洁但需正则基础 两种方法在LeetCode上均表现良好,遍历法更直观易调试,正则法更简洁。建议根据团队熟悉度选择,遍历法在面试中更为稳妥。复杂度均为线性,适用于常规字符串验证场景。
2025-07-15 12:22:31
837
原创 【Leetcode】Q1. 用特殊操作处理字符串 I
题目要求按照特定规则处理字符串中的字符。给定一个包含字母和特殊字符(*,#,%)的字符串,从左到右遍历每个字符:字母直接添加,*删除末尾字符,#复制当前结果并追加,%反转当前结果。最终返回处理后的字符串。 解题思路:模拟处理过程,维护结果字符串。关键点包括处理*时检查非空,#操作复制当前结果,%操作反转字符串。时间复杂度O(n×m),空间复杂度O(m),其中n为输入长度,m为结果长度。 这是一道考察字符串基本操作和边界处理的模拟题。
2025-07-14 07:00:00
465
原创 【Leetcode】Q2. 最小化连通分量的最大成本
题目要求在无向连通图中移除边,使连通分量不超过k个,并最小化各连通分量中边权的最大值。采用二分搜索结合并查集的解法:通过二分确定可能的最小最大边权,使用并查集统计连通分量数量是否满足要求。时间复杂度为O(Elog(max_weight)),空间复杂度O(n)。该解法高效地平衡了连通分量数量与边权限制,适用于类似的最小化最大值问题。
2025-07-14 07:00:00
668
原创 【Leetcode】2410. 运动员和训练师的最大匹配数
摘要 题目要求将运动员与训练师进行匹配,运动员能力需小于等于训练师能力,求最大匹配数。采用贪心算法策略: 排序预处理:对运动员和训练师数组进行升序排序 双指针匹配:从能力最强的运动员和训练师开始匹配 贪心策略: 能匹配时,同时移动两个指针并计数 不能匹配时,仅移动运动员指针 算法时间复杂度为O(n log n + m log m),空间复杂度O(1)。通过排序和双指针技巧,确保最优匹配方案。
2025-07-13 09:37:41
536
原创 【华为OD】生成哈夫曼树
本文介绍了基于贪心算法构建哈夫曼树并输出中序遍历结果的实现方法。给定无序数字数组作为叶子节点权值,算法通过优先队列(最小堆)每次合并权值最小的两个节点,生成带权路径最短的最优二叉树。构建过程中确保左子节点权值≤右子节点,权值相等时按高度排序。代码实现包括节点结构定义、优先队列比较器、哈夫曼树构建和中序遍历四部分,使用C++和Java两种语言完成。示例输入5个权值[5,15,40,30,10],输出中序遍历结果为"40 100 30 60 15 30 5 15 10",验证了算法的正确性。
2025-07-13 07:00:00
875
原创 【华为OD】MVP争夺战2(C++、Java、Python)
摘要:题目要求从给定数组中选取3个元素(不足3个则全选)组成最小数字。核心思路是:对于数组长度≥3的情况,先按数值大小排序取前3个元素,再按字符串拼接规则(a+b < b+a)排序,最后拼接得到最小数字。算法时间复杂度为O(n log n),空间复杂度O(n)。该问题考查贪心算法和自定义排序的应用,通过数值排序和字符串拼接比较实现最优组合。代码实现包括C++、Java和Python三种语言版本,均通过所有测试用例。
2025-07-12 19:31:49
1323
原创 【华为OD】MVP争夺战(C++、Java、Python)
这篇文章探讨了如何将篮球比赛中的得分数据分组,使尽可能多的选手获得MVP称号。主要思路是将得分数组划分为多个和相等的子集,每个子集代表一名MVP的总得分。算法采用贪心策略和回溯方法,从最大可能的MVP人数开始枚举,使用剪枝优化提高效率。代码实现展示了C++、Java和Python三种语言的解决方案,核心是通过排序预处理和深度优先搜索验证分组可行性。最终复杂度为O(k^n),但实际运行中剪枝效果显著。该问题本质上是数组划分的变种,关键在于寻找最优的子集划分方案。
2025-07-12 19:24:14
753
原创 【Leetcode】3375. 使数组的值全部为 K 的最少操作次数
核心在于识别合法操作的序列,即每次操作必须针对当前数组中严格大于某个值的唯一元素。通过统计这些不同值的数量,即可直接得出最少操作次数。
2025-04-09 23:54:03
1159
CLion-2022.1.3安装包
2023-12-21
广工数据库系统~期末习题.docx
2023-12-31
广工数据库教材实验.pdf
2023-12-31
信息安全概论课后习题答案总结(华南理工大学出版社)
2023-12-28
计算机网络课件ppt(概述+物理层+数据链路层+网络层+运输层+应用层)
2023-12-21
计算机网络知识网络思维导图
2023-06-22
基于Java与MySQL的高校宿舍管理系统设计与实现
2024-11-22
广东工业大学编译原理复习汇总
2024-06-28
广东工业大学PPT模板
2024-03-14
广东工业大学数据结构课设报告参考
2024-01-12
wireshark.zip
2024-08-09
云计算题目集(包含实验)
2024-07-28
中国移动IT新技术实训营(人工智能、大数据、网络安全)学习内容:理论学习、项目实践
2024-07-28
软考模拟作答系统.rar
2024-06-11
编译原理实验初始资料包.zip
2024-06-11
C++builder6安装包
2024-06-11
大数据技术原理与应用实验
2024-04-08
广工工程伦理课堂汇报内容(主题:假如自动驾驶汽车撞人了责任是谁的?)
2024-04-08
2023年蓝桥杯国赛代码以及题目
2024-04-08
最近遇到的一个的数学公式证明
2024-03-21
微信打开障碍有问题如何解决
2024-01-22
python输入问题
2023-12-04
MG513电机PID控制小车循迹
2023-07-31
OpenMV传输给stm32多个数据的时候,接收的时候发现数据顺序打乱了,这是什么原因
2023-07-31
图像识别已知长方形(正方形)四个角的坐标,求该四边形的中心点(对角线交点坐标)
2023-08-02
MG513P3012V直流减速电机如何通过编码计算瞬时速度以及累计经过距离的距离
2023-07-31
为什么这个软件不能正常使用了
2023-07-24
STM32串口通信无法接收数据
2023-07-20
STM32初始化样例代码报错
2023-07-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅