算法设计方法之贪心算法

贪心算法

介绍

贪心算法是算法设计的一种方法。期盼通过每个阶段的局部最优选择,从而达到全局的最优。但结果不一定是最优的。

基础案例

场景一

零钱兑换

现有硬币 1 元、2 元、5 元,需要用最少的硬币数量凑够 11 元。

利用贪心算法实现,优先考虑最好的结果就是面值为 5 元的硬币,11 = 5 + 5 + 1,一共使用了三枚硬币。

现有硬币 1 元、3 元、4 元,需要用最少的硬币数量凑够 5 元。

利用贪心算法实现,优先考虑最好的结果就是面值为 4 元的硬币,6 = 4 + 1 + 1,一共用了三枚硬币,虽然结果是对的,但是并不是最优的,因为用两枚 3 元硬币才是最优。

原文链接:菜园前端

相关推荐
lichenyang4534 分钟前
Vue生命周期以及自定义钩子和路由
前端
程序员二师兄7 分钟前
记一次鸿蒙webview图片渲染失败的问题
前端·javascript·harmonyos
萌萌哒草头将军7 分钟前
字节也在用的 @tanstack/react-query 到底有多好用!🔥🔥🔥
前端·javascript·react.js
lineo_9 分钟前
手写 pinia 持久化缓存插件,兼容indexDB
前端·vue.js
202610 分钟前
14.2.企业级脚手架-tsup的配置和使用
前端
王林不想说话12 分钟前
新的枚举使用方式enum-plus
前端·vue.js·typescript
JohnYan21 分钟前
工作笔记 - 改进的单例应用
javascript·设计模式·bun
拾光拾趣录24 分钟前
HTML | 10个常犯的错误
前端·html
coding随想26 分钟前
常见UI事件解析:Load/Unload、Error/Abort、Resize/Scroll、Select/DOMFocusIn等
前端
鹧鸪yy28 分钟前
从Token介绍到单点登录SSO
前端·javascript