自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 四数之和

该文章介绍了一种解决四数之和问题的算法思路。主要采用排序+双重循环+双指针的方法:首先对数组排序,外层双重循环固定两个数a和b,内层使用双指针寻找满足条件的另外两个数(使四数之和等于目标值)。过程中需注意去重处理,避免重复四元组。代码实现时还加入了小优化:当数组元素不足四个或最小四个数之和已超过目标值时直接返回。该算法本质是在三数之和解法基础上增加了一层循环。

2025-09-09 18:05:27 265

原创 三数之和

本文介绍了一种利用双指针算法解决三数之和问题的方法。首先对数组排序,固定一个数后,使用左右指针在剩余区间寻找满足条件的另外两个数。通过跳过重复元素来避免重复解,同时包含优化处理:当固定数大于0时直接终止循环。代码实现部分展示了具体操作步骤,包括指针移动、结果存储和重复元素处理。该方法有效解决了三数之和问题,时间复杂度为O(n²)。

2025-09-08 21:49:36 486

原创 查找总价格为目标值的两个商品

摘要:该题目要求在一个升序数组中找出两数之和等于目标值的组合。解题思路采用双指针法,利用数组单调性优化搜索:左指针从数组头开始,右指针从数组尾开始。若两数之和小于目标值,则左指针右移;若大于目标值,则右指针左移;若相等则返回结果。该方法时间复杂度为O(n),比暴力枚举更高效。代码实现简洁明了,未找到匹配时返回空数组。

2025-09-07 15:36:40 238

原创 有效三角形的个数(数组单调性)

本文介绍了两种解决三角形三元组计数问题的方法。暴力枚举法通过三层循环实现,但时间复杂度达O(n³)效率较低。优化解法采用排序+双指针策略:先排序数组,固定最大元素后,用左右指针扫描较小元素。当两小边之和大于第三边时,直接统计中间所有可能组合并右移指针;否则左移指针。该算法显著提升了效率,时间复杂度主要取决于排序步骤。代码实现展示了如何通过Arrays.sort()和双指针遍历来高效解决问题。

2025-09-06 14:03:23 428

原创 盛最多水的容器

本文介绍了求解容器最大容积问题的双指针解法。题目要求计算数组中两个元素作为桶壁时,其高度和宽度的最大乘积。先分析暴力枚举法会超时,进而提出双指针优化方案:初始化左右指针分别指向数组两端,计算当前容积后,移动较小值的指针,逐步缩小范围。通过保持较高的桶壁来确保可能的更大容积,避免不必要的计算。该方法显著提高了效率,时间复杂度为O(n)。代码实现简洁明了,通过比较左右指针的值决定移动方向,并实时更新最大容积值。

2025-09-05 20:10:06 424

原创 快乐数(双指针)

摘要:本文介绍了一种判断快乐数(最终能变为1的数字)的算法。使用双指针法,定义快慢指针从初始数字n出发,慢指针每次计算一次数字各位平方和,快指针计算两次。通过循环直到两指针相遇,若结果为1则是快乐数,否则不是。代码实现了平方和计算函数add()和判断函数isHappy(),通过do-while循环和最终值比较完成判定。该方法巧妙利用了快慢指针在循环序列中的特性,有效解决了快乐数判定问题。

2025-09-04 17:07:47 195

原创 复写零(双指针)

摘要:本文介绍了处理数组中零元素复制的算法思路。使用双指针法,先确定最后一个要复写的元素位置,处理可能的越界情况。然后从后往前遍历数组,遇到零时复制两个零,非零元素则直接移动。特殊情况下需调整指针位置以避免越界。代码实现分为三步:确定复写位置、处理边界条件、执行反向复写操作。该算法能高效完成零元素的复制和数组重排任务。

2025-09-03 21:00:07 408

原创 移动零(双指针算法)

摘要:本文介绍了一种原地移动零元素的算法。使用双指针法,将数组分为非零区、零区和待处理区。dest指针标记非零区末尾,cur指针遍历数组。当cur遇到非零元素时,与dest+1位置的元素交换,保持非零元素相对顺序。时间复杂度O(n),空间复杂度O(1),无需额外数组空间。

2025-09-02 20:42:44 150

原创 Spring 框架(1)

Spring 框架(1)

2025-06-09 14:37:47 1325 33

原创 JVM 机制

JVM 机制

2025-05-17 20:21:29 1438 41

原创 HTTP / HTTPS 协议

HTTP / HTTPS 协议

2025-05-14 13:13:24 2200 41

原创 数据链路层(MAC 地址)

数据链路层(MAC 地址)

2025-05-05 14:38:20 2156 24

原创 IP 协议

IP 协议

2025-05-04 17:25:59 1712 25

原创 UDP / TCP 协议

UDP / TCP 协议

2025-05-03 19:28:44 3489 23

原创 UDP数据包和TCP数据包的区别;网络编程套接字;不同协议的回显服务器

UDP数据包和TCP数据包的区别;网络编程套接字;不同协议的回显服务器

2025-05-01 15:57:33 1883 32

原创 JAVA文件I/O

JAVA文件I/O

2025-04-19 16:35:45 884 34

原创 JAVA阻塞队列

JAVA阻塞队列

2025-04-05 21:04:32 1479 39

原创 JAVA单例模式

JAVA单例模式

2025-04-05 15:19:39 728 15

原创 JAVA线程安全

JAVA线程安全

2025-04-04 17:27:49 1060 33

原创 JAVA多线程

JAVA多线程

2025-03-25 22:16:15 1333 45

原创 MYSQL视图

MYSQL视图

2025-03-14 17:28:59 1126 44

原创 MYSQL联合查询

MYSQL联合查询

2025-03-12 17:33:05 1890 42

原创 数据库约束

数据库约束

2025-03-05 22:07:00 1522 55

原创 数据库拓展操作

数据库拓展操作

2025-03-02 16:44:20 1325 21

原创 MYSQL增删改查操作

MYSQL增删改查操作

2025-03-02 13:36:39 1110 41

原创 MYSQL表的操作

MYSQL表的操作

2025-02-28 10:15:45 1245 39

原创 数据库的基本操作

数据库的基本操作

2025-02-25 20:46:16 2196 34

原创 模拟解决哈希表冲突

模拟解决哈希表冲突

2025-02-18 07:52:37 2594 32

原创 Map 和 Set

Map 和 Set

2025-02-15 23:55:54 4563 27

原创 计数排序

计数排序

2025-02-14 00:31:13 3764 9

原创 归并排序 和 七大算法的总结图

归并排序 和 七大算法的总结图

2025-02-13 23:51:03 4049 10

原创 快速排序

快速排序

2025-02-13 21:07:21 3492 7

原创 冒泡排序

冒泡排序

2025-02-11 23:25:34 3070 8

原创 堆排序

堆排序

2025-02-11 23:05:40 3315 3

原创 选择排序

选择排序

2025-02-11 22:35:11 3573 2

原创 插入排序和希尔排序

插入排序和希尔排序

2025-02-11 21:18:45 3919 1

原创 PriorityQueue优先级队列的使用和Top-k问题

PriorityQueue优先级队列的使用和Top-k问题

2025-02-10 22:35:49 4272 12

原创 优先级堆的概念和模拟实现

优先级堆的概念和模拟实现

2025-02-10 20:59:44 3525 3

原创 利用子问题思路解决二叉树相关Oj题

利用子问题思路解决二叉树相关Oj题

2025-02-10 16:37:38 1228 24

原创 二叉树的遍历方式和子问题思路

二叉树的遍历方式和子问题思路

2025-02-10 00:28:14 1545 20

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除