题目:
一排硬币,每个硬币的面额是随意的正整数,共有n个,现要求,设计一个算法,从两端取硬币,取a个(a小于n),只能从两端取,问怎么取才能使我们取道的硬币总金额最大。
前言:
这是我在2019年5月去网易校园招聘面试题,当时自己经验不足,没有解决出来这道题,今天有幸在某论坛上得到两位腾讯大神的指点(虽然我没理解他们说的什么意思,可能他们的更加的快、好,我这里只是写一下自己的思路)但是在他们的思路下,我在笔记本上画出了这个解决办法。现在讲给大家。
我的目标:你看了能给别人讲
开始了
首先,假设我们的n是10,a是4,即从10个硬币中取4个。那么大概就是下图所示:
如果我在这里使用穷举法,那我估计会被拉出去打死哈哈哈。我们把自己的注意力放在这个4个上面,然后,如果