局部最优 -> 全局最优? (Coin Change Problem)
假设有面额为 20, 10, 5, 1 的硬币,如何用最少的通过硬币数量凑出目标金额?
贪心策略:每次优先尽可能选最大的面额。
int coins[] = {20, 10, 5, 1}; int target = 46; for(int c : coins) { while(target >= c) { target -= c; // 选了一枚 c } }