- 博客(3)
- 收藏
- 关注
原创 LeetCode T2144 打折购买糖果的最小开销
这篇文章详细解析了LeetCode 2144《打折购买糖果的最小开销》的贪心算法解法。核心思路是:通过降序排序糖果价格,每3个一组购买前2个(最贵的)并免费获得第3个,从而最小化总开销。文章包含题目描述、贪心策略证明、Python代码实现(时间复杂度O(nlogn))、复杂度分析和常见错误点(如排序方向错误)。这道题典型体现了贪心算法"局部最优导致全局最优"的思想,是学习基础算法的优秀例题。关键词:贪心算法、降序排序、分组策略、最小开销。
2026-06-01 13:56:13
365
原创 LeetCode T507 完美数
这道题的核心是因子枚举优化。我们可以将时间复杂度从 O(n) 优化到 O(√n)。判断质数求约数个数分解质因数等问题中都非常常见。因此,本题不仅是一道数学题,更是因子枚举思想的经典练习。
2026-05-29 20:41:27
388
原创 LeetCode T70 爬楼梯
摘要: LeetCode 70题爬楼梯是一道经典的动态规划入门题。题目要求计算爬到n阶楼梯的不同方法数(每次可爬1或2阶)。通过分析发现其递推关系为斐波那契数列(f(n)=f(n-1)+f(n-2))。直接递归会导致指数级重复计算,采用记忆化搜索(自顶向下+缓存)可优化至O(n)时间复杂度。C语言实现使用全局数组作为备忘录存储中间结果,避免重复计算。该方法直观展现了动态规划的核心思想,是学习递归优化的重要案例。后续还可进一步优化为迭代法或滚动变量法降低空间复杂度。
2026-05-19 22:07:52
303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅