题目
思路
(1) 因为是求最少准备多少香蕉, 因此每次都是考虑猴子吃的最少的情况, 可以不一次性准备好香蕉, 而是按照每个猴子的需求, 动态的进行准备, 最后将所有的准备结果求和.
(2) 假设第一只猴子, 食量为5, 那么为了满足不会超过当前的一半, 就需要准备10个香蕉.
(3) 第一次完毕后, 还剩5个香蕉, 如果第二次猴子的食量为2, 那么就不需要额外准备香蕉, 如果食量为3, 需要额外准备1个.
(4) 最后一个猴子, 只需要补足他食量的就可以. 假设为10
(5) 如果就三只猴子, 食量为5, 3, 10. 第一次准备10, 剩5, 第二次准备1, 剩3, 第三次准备7.
可那么需要的最少香蕉数目就是10 + 1 + 7 = 18个.