- 博客(9)
- 收藏
- 关注
原创 算法入门-二分算法
二分算法是在有序数据中查找特定元素的方法。核心思想是利用数据的有序性,每次通过条件判断不断将搜索区间不断缩小一半。二分算法在算法题中应用很广泛,在很多算法题中可以作为一种加速查找的方法来使用。
2025-09-25 17:40:30
1615
原创 算法入门-尺取法/滑动窗口
尺取法摘要 尺取法是一种高效的双指针算法,用于寻找满足特定条件的连续子区间。其核心思想是通过维护左右两个指针形成滑动窗口,根据区间权值的单调性调整窗口大小。当区间权值随长度单调变化时(如乘积递增/递减),尺取法能以O(n)时间复杂度解决问题,远优于暴力枚举的O(n²)。典型应用场景包括求解乘积小于k的子数组数量等问题,通过动态调整窗口边界并累加有效区间数实现优化。
2025-09-14 21:13:55
579
原创 洛谷P1109 学生分组
题目P1109要求调整n个小组人数,使每个小组人数在[l,r]范围内。先判断总人数是否在合法区间[nl,nr],否则输出-1。对于合法情况,计算超出上限和低于下限的人数总和,最少调整次数即为这两个数的最大值。代码简洁高效,关键在于将问题转化为简单的数学计算。
2025-09-14 19:53:57
222
原创 算法入门-前缀和与差分
本文介绍了两种高效数据处理方法:前缀和与差分。前缀和通过预计算数组累计和,将区间求和复杂度从O(n)降至O(1),适用于一维和二维数组。差分作为前缀和的逆运算,用于还原原始数据。文章以洛谷例题说明前缀和的实际应用,并详细推导了二维前缀和的计算公式。这两种方法在算法优化中具有重要作用,能显著提升数据处理效率。
2025-09-11 23:13:54
1934
原创 浅入浅出Java编程-进程、线程、并发与并行初体验
本文介绍了进程与线程的基本概念,详细讲解了Java中三种创建线程的方法。主要内容包括:1)进程是程序执行实体,线程是进程中的实际运作单位;2)并发是单CPU上的交替执行,并行是多CPU上的真正同时执行;3)创建线程的三种方式:继承Thread类、实现Runnable接口和实现Callable接口,其中Callable方式支持返回值和异常处理。文章通过代码示例展示了每种实现方式的特点和适用场景,并比较了它们的优缺点,为开发人员选择合适的多线程实现方案提供了参考。
2025-07-24 18:58:44
1461
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅