📌 什么是贪心算法?

贪心算法是一种在每一步选择中都采取当前最优解的算法策略,通过局部最优解达到全局最优解。常用于资源分配、调度问题、编码优化等场景。

贪心算法

🧠 典型应用场景

  • 区间调度:如活动选择问题(选择最多不重叠的活动)
  • 硬币找零:用最少数量的硬币组合支付金额
  • 哈夫曼编码:数据压缩中的最优前缀码生成
  • 任务分配:最大化任务完成数量的调度方案

🧪 LeetCode题目推荐

  1. 455. Assign Cookies
    ⭐ 硬币找零的经典贪心问题
  2. 134. Gas Station
    🔄 贪心在环形路径中的应用
  3. 402. Remove K Digits
    ✂️ 通过贪心策略处理字符串数字
  4. 121. Best Time to Buy and Sell Stock
    📈 单次交易的最大利润计算

📚 学习建议

  1. 先掌握贪心策略的核心思想:局部最优是否能导出全局最优?
  2. 熟悉贪心算法的适用条件(如问题具有贪心选择性质)
  3. 多练习LeetCode上的经典题目,例如 55. Jump Game
  4. 参考本站的 算法设计基础教程 深入理解原理
算法设计

🧠 扩展思考

  • 为什么贪心算法无法解决所有问题?
    ⚠️ 例如背包问题中贪心可能无法得到最优解
  • 如何验证贪心选择的正确性?
    ✅ 可通过数学归纳法或反证法证明
编程练习