用 Python 找出可以将多少个盒子放入仓库的程序

假设,我们有两个包含整数的数组。一个列表包含一些单位宽度框的高度,另一个数组包含仓库中房间的高度。房间编号为 0...n,房间的高度在数组 godown 中各自的索引中提供。我们必须找出可以推入仓库的箱子数量。有几件事必须牢记,

  • 箱子不能叠在一起。

  • 可以更改框的顺序。

箱子从任何一侧放入仓库,可以从左侧或右侧。如果一个盒子比房间的高度高,那么这个盒子和它右边的所有盒子都不能被推入仓库。

因此,如果输入类似于 box = [4, 5, 6], godown = [4, 5, 6, 7],那么输出将是 3 作为输入给出的所有三个框都可以放入 godown。

示例(Python)

让我们看看以下实现以获得更好的理解 -

def solve(boxes, godown):

   boxes.sort(reverse = True)

   l, r = 0, len(godown) - 1

   bi, ret = 0, 0

   while bi < len(boxes) and l <= r:

      if godown[l] > godown[r]:

         if boxes[bi] <= godown[l]:

            ret += 1

            l += 1

      else:

         if boxes[bi] <= godown[r]:

            ret += 1

            r -= 1

      bi += 1

   return ret

print(solve([4, 5, 6], [4, 5, 6, 7]))

输入

[4, 5, 6], [4, 5, 6, 7]
输出结果
3

以上是 用 Python 找出可以将多少个盒子放入仓库的程序 的全部内容, 来源链接: utcz.com/z/331740.html

回到顶部