算法题:一排硬币,每个硬币的面额是随意的正整数,从两端任意取,怎么取到的面额最大(你看了能给别人讲)。

题目:

一排硬币,每个硬币的面额是随意的正整数,共有n个,现要求,设计一个算法,从两端取硬币,取a个(a小于n),只能从两端取,问怎么取才能使我们取道的硬币总金额最大。

前言:

这是我在2019年5月去网易校园招聘面试题,当时自己经验不足,没有解决出来这道题,今天有幸在某论坛上得到两位腾讯大神的指点(虽然我没理解他们说的什么意思,可能他们的更加的快、好,我这里只是写一下自己的思路)但是在他们的思路下,我在笔记本上画出了这个解决办法。现在讲给大家。

我的目标:你看了能给别人讲

开始了

首先,假设我们的n是10,a是4,即从10个硬币中取4个。那么大概就是下图所示:

如果我在这里使用穷举法,那我估计会被拉出去打死哈哈哈。我们把自己的注意力放在这个4个上面,然后,如果

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ChuckieZhu

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值