krahets / hello-algo

《Hello 算法》:动画图解、一键运行的数据结构与算法教程。支持 Python, Java, C++, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 代码。简体版和繁体版同步更新,English version ongoing
https://hello-algo.com
Other
86.49k stars 10.97k forks source link

15.1 贪心算法例子 coin_change_greedy.js #1360

Closed yuadh closed 2 months ago

yuadh commented 2 months ago

请问这个例子是面向结果编程吗。 还是说贪心算法, 本就有可能得不到正确答案(即使用其它算法有解)。 例如带入 coinChangeGreedy([40,60,70],100) 去算,返回值为-1。 抛开时间复杂度和空间复杂度不谈,为什么得不到解,有点面向结果编程的意思。

hpstory commented 2 months ago

Hi @yuadh , 这节后面的内容有介绍, 有些问题不适合使用贪心处理。对于硬币找零问题,在某些硬币组合下,贪心算法才可以得到最优解。