- 博客(7)
- 收藏
- 关注
原创 双指针(下)
本文介绍了两种双指针算法解决求和问题。第一部分讲解"和为s的两个数字"问题,对比了暴力解法(O(n²))和双指针解法(O(n))的优劣。双指针法通过左右指针向中间移动,利用数组有序性快速定位目标组合。第二部分将思路扩展至"四数之和"问题,核心仍是通过排序+双指针降低复杂度。两种方法体现了算法设计中暴力穷举与优化策略的差异,强调应根据问题特性选择合适解法,在时间复杂度、空间复杂度和实现复杂度间取得平衡。双指针法适用于有序数组场景,能高效处理大规模数据。
2025-10-31 14:07:26
799
原创 双指针(中)
本文介绍了两个双指针算法的经典应用。第一个是快乐数问题,通过快慢指针判断数字平方和计算是否进入1的循环或非1循环,时间复杂度O(logn)。第二个是盛水容器问题,使用左右指针从两端向中间移动,每次移动较矮的一侧以寻找最大容量,时间复杂度O(n)。两种方法都避免了暴力解法的高时间复杂度,展示了双指针算法在特定问题中的高效性和巧妙性。
2025-09-22 22:03:24
816
原创 双指针(上)
本文介绍了双指针算法的两种常见形式:对撞指针和快慢指针。对撞指针从两端向中间移动,用于顺序结构;快慢指针则通过不同移动速度处理环形结构或循环问题。
2025-09-20 17:21:44
685
原创 第一节:算法复杂度
本文介绍了数据结构与算法的基础概念,重点讲解了算法复杂度分析。数据结构研究数据的逻辑结构、存储结构和运算操作,旨在高效组织处理数据。算法是解决问题的明确步骤序列,其效率通过时间复杂度和空间复杂度来衡量。时间复杂度描述算法执行时间随输入规模的增长趋势,空间复杂度则反映内存消耗的增长趋势。文章通过多个代码示例详细说明了如何计算常见算法的时间复杂度,包括线性(O(n))、对数(O(log n))等不同复杂度等级。复杂度分析是评估算法性能的关键,能帮助开发者在大数据量场景下选择最优解决方案。
2025-09-19 12:33:33
741
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅