Python|易懂的算法“贪心”

本文介绍了贪心算法的概念及其在解决环形路线上有多个加油站问题的应用。通过示例展示了如何判断能否行驶一周并找到起点,阐述了算法的思考过程和解决方案。
摘要由CSDN通过智能技术生成

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

前言

有一种算法叫“贪心”,“贪心”又可叫做“贪婪”,贪得的欲望,从字面意思上不难理解这种算法求解目的就是贪心的,为什么这么说,因为这种算法求解问题的实质就是每次的选择总是最优的,就好比去菜市场买菜或者买水果,在购买的时候,总是会挑选从自身角度来说最绿色,最新鲜的。

贪心算法便是这样的一个算法范例,但是就这样的一个算法求解出来的问题就是得到最优解了吗,当然并不是,这种算法它遵循的规则是在每个阶段做出局部的最优选择,并没有考虑全局的最优解答。

问题描述

在一条环路上有N个加油站,其中第i个加油站有汽油gas[i]升。

你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。

如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。

示例1:

输入:gas = [1,2,3,4,5]

cost = [3,4,5,1,2]

输出:3

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法与编程之美

欢迎关注『算法与编程之美』

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值