【发布时间】:2018-09-08 18:37:50
【问题描述】:
我最近在一次采访中遇到了一个问题,其中给了我一条鳄鱼的大小和一个代表池塘中鱼大小的数组。 鳄鱼可以吃小于它大小的鱼,每次它吃那条鱼时,它的大小都会增加那条鱼的大小。我们可以对数组执行任意次数的两种类型操作。
- 从池塘中取出所有鱼
- 向池塘添加任何大小的鱼
鉴于鳄鱼的初始大小和池塘中的鱼群,我们必须找到最小的数量。这样的操作,以便清空代表池塘的数组。
例如 -
鳄鱼的初始大小是20,鱼的数组是
[10,15,20,30,100]
在这种情况下,鳄鱼吃掉了除 100 之外的所有鱼,它的大小变成了 85,因此解决方案之一可能是移除大小为 100 的鱼。因此输出将为 1。
实现上述问题的最佳算法是什么,可以递归解决吗?
【问题讨论】:
-
这可能是Programming Puzzles & Code Golf 的更多主题,但我不确定。
-
@MikeHarris 我在那里试过,但他们说在这里问
标签: arrays algorithm language-agnostic